diff --git a/.github/DISCUSSION_TEMPLATE/installation.yml b/.github/DISCUSSION_TEMPLATE/installation.yml new file mode 100644 index 000000000..64ac9375e --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/installation.yml @@ -0,0 +1,38 @@ +--- +body: + - + attributes: + label: "What operating system are you using?" + id: os + type: textarea + validations: + required: true + - + attributes: + label: "How did you install slither?" + description: | + For example, using git or python's pip. + id: install-method + type: textarea + validations: + required: true + - type: dropdown + id: python + attributes: + label: Do you have python added to your $PATH? + multiple: true + options: + - "Yes" + - "No" + - "Not sure" + - + attributes: + description: | + Please copy and paste any relevant log output. This + will be automatically formatted into code, so no need for backticks. + render: shell + label: "Output of running `slither-doctor .`:" + id: logs +labels: + - installation-help +title: "[Installation-Help]: " diff --git a/.github/DISCUSSION_TEMPLATE/trouble_with_installation.yml b/.github/DISCUSSION_TEMPLATE/trouble_with_installation.yml deleted file mode 100644 index a2b56336c..000000000 --- a/.github/DISCUSSION_TEMPLATE/trouble_with_installation.yml +++ /dev/null @@ -1,55 +0,0 @@ ---- -body: - - - attributes: - value: | - Please check the issues tab to avoid duplicates. - Thanks for taking the time to fill out this bug report! - type: markdown - - - attributes: - label: "What operating system are you using?" - id: os - type: textarea - validations: - required: true - - - attributes: - label: "How did you install slither?" - description: | - For example, using git or python's pip. - id: install-method - type: textarea - validations: - required: true - - type: dropdown - id: python - attributes: - label: Do you have python added to your $PATH? - multiple: true - options: - - "Yes" - - "No" - - "Not sure" - - type: dropdown - id: solc - attributes: - label: Do you have solc-select installed? - multiple: true - options: - - "Yes" - - "No" - - - attributes: - description: | - Please copy and paste any relevant log output. This - will be automatically formatted into code, so no need for backticks. - render: shell - label: "Output of running `slither-doctor .`:" - id: logs - type: textarea -description: "Get help troubleshooting slither installation" -labels: - - installation-help -name: "Trouble with Installing Slither" -title: "[Installation-Help]: " diff --git a/.github/ISSUE_TEMPLATE/false_negative.yml b/.github/ISSUE_TEMPLATE/false_negative.yml index e11b6ca8d..38dfa6230 100644 --- a/.github/ISSUE_TEMPLATE/false_negative.yml +++ b/.github/ISSUE_TEMPLATE/false_negative.yml @@ -57,5 +57,5 @@ body: description: "Slither missed a bug it should find." labels: - false-negative -name: False Negative" +name: False Negative title: "[False Negative]: " diff --git a/.github/actions/upload-coverage/action.yml b/.github/actions/upload-coverage/action.yml new file mode 100644 index 000000000..ac620c8e6 --- /dev/null +++ b/.github/actions/upload-coverage/action.yml @@ -0,0 +1,30 @@ +# Derived from +# Originally authored by the PyCA Cryptography maintainers, and licensed under +# the terms of the BSD license: +# + +name: Upload Coverage +description: Upload coverage files + +runs: + using: "composite" + + steps: + # FIXME(jl): codecov has the option of including machine information in filename that would solve this unique naming + # issue more completely. + # This method has the limitation of 1 coverage file per run, limiting some coverage between online/offline tests. + - run: | + COVERAGE_UUID=$(python3 -c "import uuid; print(uuid.uuid4())") + echo "COVERAGE_UUID=${COVERAGE_UUID}" >> $GITHUB_OUTPUT + if [ -f .coverage ]; then + mv .coverage .coverage.${COVERAGE_UUID} + fi + id: coverage-uuid + shell: bash + - uses: actions/upload-artifact@v3.1.0 + with: + name: coverage-data + path: | + .coverage.* + *.lcov + if-no-files-found: ignore \ No newline at end of file diff --git a/.github/scripts/integration_test_runner.sh b/.github/scripts/integration_test_runner.sh new file mode 100644 index 000000000..1f9dd49af --- /dev/null +++ b/.github/scripts/integration_test_runner.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# used to pass --cov=$path and --cov-append to pytest +if [ "$1" != "" ]; then + pytest "$1" tests/e2e/ -n auto + status_code=$? + python -m coverage report +else + pytest tests/e2e/ -n auto + status_code=$? +fi + +exit "$status_code" \ No newline at end of file diff --git a/.github/scripts/tool_test_runner.sh b/.github/scripts/tool_test_runner.sh new file mode 100644 index 000000000..30d8176a0 --- /dev/null +++ b/.github/scripts/tool_test_runner.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# used to pass --cov=$path and --cov-append to pytest +if [ "$1" != "" ]; then + pytest "$1" tests/tools/read-storage/test_read_storage.py + status_code=$? + python -m coverage report +else + pytest tests/tools/read-storage/test_read_storage.py + status_code=$? +fi + +exit "$status_code" \ No newline at end of file diff --git a/.github/scripts/unit_test_runner.sh b/.github/scripts/unit_test_runner.sh new file mode 100644 index 000000000..92afd0a4e --- /dev/null +++ b/.github/scripts/unit_test_runner.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# used to pass --cov=$path and --cov-append to pytest +if [ "$1" != "" ]; then + pytest "$1" tests/unit/ -n auto + status_code=$? + python -m coverage report +else + pytest tests/unit/ -n auto + status_code=$? +fi + +exit "$status_code" \ No newline at end of file diff --git a/.github/workflows/IR.yml b/.github/workflows/IR.yml deleted file mode 100644 index 02a264f8e..000000000 --- a/.github/workflows/IR.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: IR tests - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: IR tests - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-2022] - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - pip install ".[dev]" - solc-select install 0.5.0 - solc-select use 0.8.11 --always-install - - - name: Install old solc - if: matrix.os == 'ubuntu-latest' - run: solc-select install 0.4.0 - - - - name: Test with pytest - run: | - pytest tests/test_ssa_generation.py \ No newline at end of file diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index 1730f4334..df51a3ddf 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -42,7 +42,7 @@ jobs: cp pyproject.toml .github/linters - name: Black - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # run linter on everything to catch preexisting problems diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 50877e262..96a0a59c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,12 +58,10 @@ jobs: python-version: 3.8 - name: Install dependencies run: | - pip install ".[dev]" + pip install ".[test]" solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install solc-select use 0.5.1 --always-install - pip install typing_extensions==4.1.1 - pip install importlib_metadata==4.8.3 - name: Set up nix if: matrix.type == 'dapp' diff --git a/.github/workflows/detectors.yml b/.github/workflows/detectors.yml deleted file mode 100644 index 05e81275d..000000000 --- a/.github/workflows/detectors.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: Detectors tests - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Detectors tests - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-2022] - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - pip install ".[dev]" - - solc-select use 0.7.3 --always-install - - name: Test with pytest - run: | - pytest tests/test_detectors.py diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ba275117e..20676e031 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -23,7 +23,7 @@ jobs: # Single deploy job since we're just deploying build: environment: - name: github-pages + name: Slither Documentation url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: @@ -34,13 +34,13 @@ jobs: - uses: actions/setup-python@v4 with: python-version: '3.8' - - run: pip install -e ".[dev]" - - run: pdoc -o docs/ slither '!slither.tools' #TODO fix import errors on pdoc run + - run: pip install -e ".[doc]" + - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload the doc - path: 'docs/' + path: './html/' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v1 diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml deleted file mode 100644 index 2c112e0aa..000000000 --- a/.github/workflows/features.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -name: Features tests - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Features tests - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-2022] - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - pip install ".[dev]" - - solc-select use 0.8.0 --always-install - - cd tests/test_node_modules/ - npm install hardhat - cd ../.. - - - name: Test with pytest - run: | - pytest tests/test_features.py - pytest tests/test_constant_folding.py - pytest tests/slithir/test_ternary_expressions.py - pytest tests/slithir/test_operation_reads.py - pytest tests/test_functions_ids.py - pytest tests/test_function.py - pytest tests/test_source_mapping.py diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 4f029399e..f972cbcd1 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -22,7 +22,7 @@ concurrency: jobs: build: - name: Pylint + name: Superlinter runs-on: ubuntu-latest steps: @@ -43,7 +43,7 @@ jobs: cp pyproject.toml .github/linters - name: Lint everything else - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # run linter on everything to catch preexisting problems diff --git a/.github/workflows/parser.yml b/.github/workflows/parser.yml deleted file mode 100644 index 7b2a9efc8..000000000 --- a/.github/workflows/parser.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -name: Parser tests - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Parser tests - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-2022] - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - pip install ".[dev]" - - - name: Install solc - run: | - solc-select install all - solc-select use 0.8.0 - - - name: Test with pytest - run: | - pytest tests/test_ast_parsing.py -n auto diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index e334ff4fe..20367787d 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -34,6 +34,6 @@ jobs: python -m pip install . - name: Run pip-audit - uses: trailofbits/gh-action-pip-audit@v0.0.4 + uses: pypa/gh-action-pip-audit@v1.0.7 with: virtual-environment: /tmp/pip-audit-env diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 06958a10d..983c176a9 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -37,7 +37,7 @@ jobs: cp pyproject.toml .github/linters - name: Pylint - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # Run linters only on new files for pylint to speed up the CI diff --git a/.github/workflows/read_storage.yml b/.github/workflows/read_storage.yml deleted file mode 100644 index b9ff687ff..000000000 --- a/.github/workflows/read_storage.yml +++ /dev/null @@ -1,53 +0,0 @@ ---- -name: Test slither-read-storage - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Test slither-read-storage - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup node - uses: actions/setup-node@v2 - with: - node-version: '14' - - - name: Install ganache - run: npm install --global ganache - - - name: Set up Python 3.8 - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install python dependencies - run: | - pip install ".[dev]" - solc-select install 0.8.1 - solc-select install 0.8.10 - solc-select use 0.8.1 - - - name: Run slither-read-storage - run: | - pytest tests/test_read_storage.py - - - name: Run storage layout tests - run: | - pytest tests/test_storage_layout.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..a003eb168 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,105 @@ +--- +name: Pytest + +defaults: + run: + shell: bash + +on: + push: + branches: [master, dev] + pull_request: + schedule: + # run CI every day even if no PRs/merges occur + - cron: '0 12 * * *' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ["ubuntu-latest", "windows-2022"] + type: ["unit", "integration", "tool"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + cache: "pip" + cache-dependency-path: setup.py + + - name: Install dependencies + run: | + pip install ".[test]" + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: '16' + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + + - name: Install test dependencies + run: | + if [ ${{ matrix.type }} = "tool" ]; then + # Setup Ganache for slither-read-storage tests. + npm install --global ganache + elif [ ${{ matrix.type }} = "integration" ]; then + # Setup Hardhat for compilation tests. + pushd tests/e2e/compilation/test_data/test_node_modules/ || exit + npm install hardhat + popd || exit + fi + + - name: Run ${{ matrix.type }} tests + env: + TEST_TYPE: ${{ matrix.type }} + # Only run coverage on ubuntu-latest. + run: | + if [ ${{ matrix.os }} = "ubuntu-latest" ]; then + TEST_ARGS="--cov=slither --cov-append" + elif [ ${{ matrix.os }} = "windows-2022" ]; then + TEST_ARGS="" + fi + bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" $TEST_ARGS + + + - name: Upload coverage + uses: ./.github/actions/upload-coverage + # only aggregate test coverage over linux-based tests to avoid any OS-specific filesystem information stored in + # coverage metadata. + if: ${{ matrix.os == 'ubuntu-latest' }} + + coverage: + needs: + - tests + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + + - run: pip install coverage[toml] + + - name: download coverage data + uses: actions/download-artifact@v3.0.2 + with: + name: coverage-data + + - name: combine coverage data + id: combinecoverage + run: | + set +e + python -m coverage combine + echo "## python coverage" >> $GITHUB_STEP_SUMMARY + python -m coverage report -m --format=markdown >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/.gitignore b/.gitignore index 95fc5a7bf..4441c03d1 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,7 @@ htmlcov/ .coverage .coverage.* .cache +.pytest_cache nosetests.xml coverage.xml *.cover diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8568ef709..1d1a9497f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,19 @@ # Contributing to Slither + First, thanks for your interest in contributing to Slither! We welcome and appreciate all contributions, including bug reports, feature suggestions, tutorials/blog posts, and code improvements. If you're unsure where to start, we recommend our [`good first issue`](https://github.com/crytic/slither/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and [`help wanted`](https://github.com/crytic/slither/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) issue labels. ## Bug reports and feature suggestions + Bug reports and feature suggestions can be submitted to our issue tracker. For bug reports, attaching the contract that caused the bug will help us in debugging and resolving the issue quickly. If you find a security vulnerability, do not open an issue; email opensource@trailofbits.com instead. ## Questions -Questions can be submitted to the issue tracker, but you may get a faster response if you ask in our [chat room](https://empireslacking.herokuapp.com/) (in the #ethereum channel). + +Questions can be submitted to the "Discussions" page, and you may also join our [chat room](https://empireslacking.herokuapp.com/) (in the #ethereum channel). ## Code + Slither uses the pull request contribution model. Please make an account on Github, fork this repo, and submit code contributions via pull request. For more documentation, look [here](https://guides.github.com/activities/forking/). Some pull request guidelines: @@ -23,6 +27,7 @@ Some pull request guidelines: ## Directory Structure Below is a rough outline of slither's design: + ```text . ├── analyses # Provides additional info such as data dependency @@ -39,9 +44,10 @@ Below is a rough outline of slither's design: A code walkthrough is available [here](https://www.youtube.com/watch?v=EUl3UlYSluU). ## Development Environment + Instructions for installing a development version of Slither can be found in our [wiki](https://github.com/crytic/slither/wiki/Developer-installation). -To run the unit tests, you need to clone this repository and run `pip install ".[dev]"`. +To run the unit tests, you need to clone this repository and run `make test`. Run a specific test with `make test TESTS=$test_name`. The names of tests can be obtained with `pytest tests --collect-only`. ### Linters @@ -49,40 +55,63 @@ Several linters and security checkers are run on the PRs. To run them locally in the root dir of the repository: -- `pylint slither tests --rcfile pyproject.toml` -- `black . --config pyproject.toml` +- `make lint` + +> Note, this only validates but does not modify the code. + +To automatically reformat the code: + +- `make reformat` We use pylint `2.13.4`, black `22.3.0`. -### Detectors tests +### Testing + +Slither's test suite is divided into three categories end-to-end (`tests/e2e`), unit (`tests/unit`), and tools (`tests/tools/`). + +How do I know what kind of test(s) to write? + +- End-to-end: functionality that requires invoking `Slither` and inspecting some output such as printers and detectors. +- Unit: additions and modifications to objects should be accompanied by a unit test that defines the expected behavior. Aim to write functions in as pure a way as possible such that they are easier to test. +- Tools: tools built on top of Slither (`slither/tools`) but not apart of its core functionality + +#### Adding detector tests For each new detector, at least one regression tests must be present. -- Create a test in `tests` -- Update `ALL_TEST` in `tests/test_detectors.py` -- Run `python ./tests/test_detectors.py --generate`. This will generate the json artifacts in `tests/expected_json`. Add the generated files to git. - - If updating an existing detector, identify the respective json artifacts and then delete them, or run `python ./tests/test_detectors.py --overwrite` instead. -- Run `pytest ./tests/test_detectors.py` and check that everything worked. - -To see the tests coverage, run `pytest tests/test_detectors.py --cov=slither/detectors --cov-branch --cov-report html`. -To run tests for a specific detector, run `pytest tests/test_detectors.py -k ReentrancyReadBeforeWritten` (the detector's class name is the argument). -To run tests for a specific version, run `pytest tests/test_detectors.py -k 0.7.6`. -The IDs of tests can be inspected using `pytest tests/test_detectors.py --collect-only`. - -### Parser tests -- Create a test in `tests/ast-parsing` -- Run `python ./tests/test_ast_parsing.py --compile`. This will compile the artifact in `tests/ast-parsing/compile`. Add the compiled artifact to git. -- Run `python ./tests/test_ast_parsing.py --generate`. This will generate the json artifacts in `tests/ast-parsing/expected_json`. Add the generated files to git. -- Run `pytest ./tests/test_ast_parsing.py` and check that everything worked. - -To see the tests coverage, run `pytest tests/test_ast_parsing.py --cov=slither/solc_parsing --cov-branch --cov-report html` -To run tests for a specific test case, run `pytest tests/test_ast_parsing.py -k user_defined_value_type` (the filename is the argument). -To run tests for a specific version, run `pytest tests/test_ast_parsing.py -k 0.8.12`. -To run tests for a specific compiler json format, run `pytest tests/test_ast_parsing.py -k legacy` (can be legacy or compact). -The IDs of tests can be inspected using ``pytest tests/test_ast_parsing.py --collect-only`. +1. Create a folder in `tests/e2e/detectors/test_data` with the detector's argument name. +2. Create a test contract in `tests/e2e/detectors/test_data//`. +3. Update `ALL_TEST` in `tests/e2e/detectors/test_detectors.py` +4. Run `python tests/e2e/detectors/test_detectors.py --compile` to create a zip file of the compilation artifacts. +5. `pytest tests/e2e/detectors/test_detectors.py --insta update-new`. This will generate a snapshot of the detector output in `tests/e2e/detectors/snapshots/`. If updating an existing detector, run `pytest tests/e2e/detectors/test_detectors.py --insta review` and accept or reject the updates. +6. Run `pytest tests/e2e/detectors/test_detectors.py` to ensure everything worked. Then, add and commit the files to git. + +> ##### Helpful commands for detector tests +> +> - To see the tests coverage, run `pytest tests/e2e/detectors/test_detectors.py --cov=slither/detectors --cov-branch --cov-report html`. +> - To run tests for a specific detector, run `pytest tests/e2e/detectors/test_detectors.py -k ReentrancyReadBeforeWritten`(the detector's class name is the argument). +> - To run tests for a specific version, run `pytest tests/e2e/detectors/test_detectors.py -k 0.7.6`. +> - The IDs of tests can be inspected using `pytest tests/e2e/detectors/test_detectors.py --collect-only`. + +#### Adding parsing tests + +1. Create a test in `tests/e2e/solc_parsing/` +2. Run `python tests/e2e/solc_parsing/test_ast_parsing.py --compile`. This will compile the artifact in `tests/e2e/solc_parsing/compile`. Add the compiled artifact to git. +3. Run `python tests/e2e/solc_parsing/test_ast_parsing.py --generate`. This will generate the json artifacts in `tests/e2e/solc_parsing/expected_json`. Add the generated files to git. +4. Run `pytest tests/e2e/solc_parsing/test_ast_parsing.py` and check that everything worked. + +> ##### Helpful commands for parsing tests +> +> - To see the tests coverage, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py --cov=slither/solc_parsing --cov-branch --cov-report html` +> - To run tests for a specific test case, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k user_defined_value_type` (the filename is the argument). +> - To run tests for a specific version, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k 0.8.12`. +> - To run tests for a specific compiler json format, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k legacy` (can be legacy or compact). +> - The IDs of tests can be inspected using ``pytest tests/e2e/solc_parsing/test_ast_parsing.py --collect-only`. ### Synchronization with crytic-compile + By default, `slither` follows either the latest version of crytic-compile in pip, or `crytic-compile@master` (look for dependencies in [`setup.py`](./setup.py). If crytic-compile development comes with breaking changes, the process to update `slither` is: + - Update `slither/setup.py` to point to the related crytic-compile's branch - Create a PR in `slither` and ensure it passes the CI - Once the development branch is merged in `crytic-compile@master`, ensure `slither` follows the `master` branch diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..a94c3eeb8 --- /dev/null +++ b/Makefile @@ -0,0 +1,88 @@ +SHELL := /bin/bash + +PY_MODULE := slither +TEST_MODULE := tests + +ALL_PY_SRCS := $(shell find $(PY_MODULE) -name '*.py') \ + $(shell find test -name '*.py') + +# Optionally overriden by the user, if they're using a virtual environment manager. +VENV ?= env + +# On Windows, venv scripts/shims are under `Scripts` instead of `bin`. +VENV_BIN := $(VENV)/bin +ifeq ($(OS),Windows_NT) + VENV_BIN := $(VENV)/Scripts +endif + +# Optionally overridden by the user in the `release` target. +BUMP_ARGS := + +# Optionally overridden by the user in the `test` target. +TESTS := + +# Optionally overridden by the user/CI, to limit the installation to a specific +# subset of development dependencies. +SLITHER_EXTRA := dev + +# If the user selects a specific test pattern to run, set `pytest` to fail fast +# and only run tests that match the pattern. +# Otherwise, run all tests and enable coverage assertions, since we expect +# complete test coverage. +ifneq ($(TESTS),) + TEST_ARGS := -x -k $(TESTS) + COV_ARGS := +else + TEST_ARGS := -n auto + COV_ARGS := # --fail-under 100 +endif + +.PHONY: all +all: + @echo "Run my targets individually!" + +.PHONY: dev +dev: $(VENV)/pyvenv.cfg + +.PHONY: run +run: $(VENV)/pyvenv.cfg + @. $(VENV_BIN)/activate && slither $(ARGS) + +$(VENV)/pyvenv.cfg: pyproject.toml + # Create our Python 3 virtual environment + python3 -m venv env + $(VENV_BIN)/python -m pip install --upgrade pip + $(VENV_BIN)/python -m pip install -e .[$(SLITHER_EXTRA)] + +.PHONY: lint +lint: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + black --check . && \ + pylint $(PY_MODULE) $(TEST_MODULE) + # ruff $(ALL_PY_SRCS) && \ + # mypy $(PY_MODULE) && + +.PHONY: reformat +reformat: + . $(VENV_BIN)/activate && \ + black . + +.PHONY: test tests +test tests: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + pytest --cov=$(PY_MODULE) $(T) $(TEST_ARGS) && \ + python -m coverage report -m $(COV_ARGS) + +.PHONY: doc +doc: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + PDOC_ALLOW_EXEC=1 pdoc -o html slither '!slither.tools' + +.PHONY: package +package: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + python3 -m build + +.PHONY: edit +edit: + $(EDITOR) $(ALL_PY_SRCS) \ No newline at end of file diff --git a/README.md b/README.md index 2168dd18f..bce20bfb0 100644 --- a/README.md +++ b/README.md @@ -151,26 +151,27 @@ Num | Detector | What it Detects | Impact | Confidence 61 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High 62 | `assert-state-change` | [Assert state change](https://github.com/crytic/slither/wiki/Detector-Documentation#assert-state-change) | Informational | High 63 | `boolean-equal` | [Comparison to boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality) | Informational | High -64 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High -65 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High -66 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High -67 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High -68 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High -69 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High -70 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High -71 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High -72 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High -73 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High -74 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High -75 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium -76 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium -77 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium -78 | `similar-names` | [Variable names are too similar](https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar) | Informational | Medium -79 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium -80 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High -81 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High -82 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High -83 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Vulnerabilities-Description#public-variable-read-in-external-context) | Optimization | High +64 | `cyclomatic-complexity` | [Detects functions with high (> 11) cyclomatic complexity](https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity) | Informational | High +65 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High +66 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High +67 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High +68 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High +69 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High +70 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High +71 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High +72 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High +73 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High +74 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High +75 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High +76 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium +77 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium +78 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium +79 | `similar-names` | [Variable names are too similar](https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar) | Informational | Medium +80 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium +81 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High +82 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High +83 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High +84 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Vulnerabilities-Description#public-variable-read-in-external-context) | Optimization | High For more information, see - The [Detector Documentation](https://github.com/crytic/slither/wiki/Detector-Documentation) for details on each detector @@ -246,7 +247,7 @@ Slither is licensed and distributed under the AGPLv3 license. [Contact us](mailt - [Slither: A Static Analysis Framework For Smart Contracts](https://arxiv.org/abs/1908.09878), Josselin Feist, Gustavo Grieco, Alex Groce - WETSEB '19 ### External publications -Title | Usage | Authors | Venue | Code +Title | Usage | Authors | Venue | Code --- | --- | --- | --- | --- [ReJection: A AST-Based Reentrancy Vulnerability Detection Method](https://www.researchgate.net/publication/339354823_ReJection_A_AST-Based_Reentrancy_Vulnerability_Detection_Method) | AST-based analysis built on top of Slither | Rui Ma, Zefeng Jian, Guangyuan Chen, Ke Ma, Yujia Chen | CTCIS 19 [MPro: Combining Static and Symbolic Analysis forScalable Testing of Smart Contract](https://arxiv.org/pdf/1911.00570.pdf) | Leverage data dependency through Slither | William Zhang, Sebastian Banescu, Leodardo Pasos, Steven Stewart, Vijay Ganesh | ISSRE 2019 | [MPro](https://github.com/QuanZhang-William/M-Pro) diff --git a/examples/scripts/data_dependency.py b/examples/scripts/data_dependency.py index 478394766..23c82cae1 100644 --- a/examples/scripts/data_dependency.py +++ b/examples/scripts/data_dependency.py @@ -18,6 +18,8 @@ assert len(contracts) == 1 contract = contracts[0] destination = contract.get_state_variable_from_name("destination") source = contract.get_state_variable_from_name("source") +assert source +assert destination print(f"{source} is dependent of {destination}: {is_dependent(source, destination, contract)}") assert not is_dependent(source, destination, contract) @@ -47,9 +49,11 @@ print(f"{destination} is tainted {is_tainted(destination, contract)}") assert is_tainted(destination, contract) destination_indirect_1 = contract.get_state_variable_from_name("destination_indirect_1") +assert destination_indirect_1 print(f"{destination_indirect_1} is tainted {is_tainted(destination_indirect_1, contract)}") assert is_tainted(destination_indirect_1, contract) destination_indirect_2 = contract.get_state_variable_from_name("destination_indirect_2") +assert destination_indirect_2 print(f"{destination_indirect_2} is tainted {is_tainted(destination_indirect_2, contract)}") assert is_tainted(destination_indirect_2, contract) @@ -88,6 +92,8 @@ contract = contracts[0] contract_derived = slither.get_contract_from_name("Derived")[0] destination = contract.get_state_variable_from_name("destination") source = contract.get_state_variable_from_name("source") +assert destination +assert source print(f"{destination} is dependent of {source}: {is_dependent(destination, source, contract)}") assert not is_dependent(destination, source, contract) diff --git a/examples/scripts/variable_in_condition.py b/examples/scripts/variable_in_condition.py index 43dcf41e7..bde41424d 100644 --- a/examples/scripts/variable_in_condition.py +++ b/examples/scripts/variable_in_condition.py @@ -14,6 +14,7 @@ assert len(contracts) == 1 contract = contracts[0] # Get the variable var_a = contract.get_state_variable_from_name("a") +assert var_a # Get the functions reading the variable functions_reading_a = contract.get_functions_reading_from_variable(var_a) diff --git a/scripts/ci_test_cli.sh b/scripts/ci_test_cli.sh index e35bf3ff5..08d9de836 100755 --- a/scripts/ci_test_cli.sh +++ b/scripts/ci_test_cli.sh @@ -4,17 +4,17 @@ solc-select use 0.7.0 -if ! slither "tests/config/test.sol" --solc-ast --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --solc-ast --no-fail-pedantic; then echo "--solc-ast failed" exit 1 fi -if ! slither "tests/config/test.sol" --solc-disable-warnings --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --solc-disable-warnings --no-fail-pedantic; then echo "--solc-disable-warnings failed" exit 1 fi -if ! slither "tests/config/test.sol" --disable-color --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --disable-color --no-fail-pedantic; then echo "--disable-color failed" exit 1 fi diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index ce9a62363..ebc59475a 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -2,7 +2,7 @@ ### Test slither-check-erc -DIR_TESTS="tests/check-erc" +DIR_TESTS="tests/tools/check-erc" solc-select use 0.5.0 slither-check-erc "$DIR_TESTS/erc20.sol" ERC20 > test_1.txt 2>&1 diff --git a/scripts/ci_test_path_filtering.sh b/scripts/ci_test_path_filtering.sh old mode 100644 new mode 100755 index fb2a18842..d7a2a9833 --- a/scripts/ci_test_path_filtering.sh +++ b/scripts/ci_test_path_filtering.sh @@ -3,7 +3,7 @@ ### Test path filtering across POSIX and Windows solc-select use 0.8.0 -slither "tests/test_path_filtering/test_path_filtering.sol" --config "tests/test_path_filtering/slither.config.json" > "output.txt" 2>&1 +slither "tests/e2e/config/test_path_filtering/test_path_filtering.sol" --config "tests/e2e/config/test_path_filtering/slither.config.json" > "output.txt" 2>&1 if ! grep -q "0 result(s) found" "output.txt" then diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index f6eaf0fc8..61994b337 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -2,7 +2,7 @@ ### Test printer -cd tests/ast-parsing/compile || exit +cd tests/e2e/solc_parsing/test_data/compile/ || exit # Do not test the evm printer,as it needs a refactoring ALL_PRINTERS="cfg,constructor-calls,contract-summary,data-dependency,echidna,function-id,function-summary,modifiers,call-graph,human-summary,inheritance,inheritance-graph,slithir,slithir-ssa,vars-and-auth,require,variable-order,declaration" diff --git a/setup.py b/setup.py index 0d26167b3..27213481a 100644 --- a/setup.py +++ b/setup.py @@ -8,28 +8,39 @@ setup( description="Slither is a Solidity static analysis framework written in Python 3.", url="https://github.com/crytic/slither", author="Trail of Bits", - version="0.9.2", + version="0.9.3", packages=find_packages(), python_requires=">=3.8", install_requires=[ "packaging", "prettytable>=0.7.2", "pycryptodome>=3.4.6", - # "crytic-compile>=0.3.0", - "crytic-compile@git+https://github.com/crytic/crytic-compile.git@master#egg=crytic-compile", + # "crytic-compile>=0.3.1,<0.4.0", + "crytic-compile@git+https://github.com/crytic/crytic-compile.git@windows-rel-path#egg=crytic-compile", + "web3>=6.0.0", ], extras_require={ - "dev": [ + "lint": [ "black==22.3.0", "pylint==2.13.4", + ], + "test": [ "pytest", "pytest-cov", "pytest-xdist", "deepdiff", "numpy", - "openai", + "coverage[toml]", + "filelock", + "pytest-insta", + "solc-select@git+https://github.com/crytic/solc-select.git@query-artifact-path#egg=solc-select", + ], + "doc": [ "pdoc", - "web3>=6.0.0", + ], + "dev": [ + "slither-analyzer[lint,test,doc]", + "openai", ], }, license="AGPL-3.0", diff --git a/slither/__init__.py b/slither/__init__.py index c709b144c..dd9b8a1a2 100644 --- a/slither/__init__.py +++ b/slither/__init__.py @@ -1 +1,4 @@ +""" +.. include:: ../README.md +""" from .slither import Slither diff --git a/slither/__main__.py b/slither/__main__.py index 5d0dda9e0..ca61a8269 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -66,7 +66,7 @@ def process_single( args: argparse.Namespace, detector_classes: List[Type[AbstractDetector]], printer_classes: List[Type[AbstractPrinter]], -) -> Tuple[Slither, List[Dict], List[Dict], int]: +) -> Tuple[Slither, List[Dict], List[Output], int]: """ The core high-level code for running Slither static analysis. @@ -86,7 +86,7 @@ def process_all( args: argparse.Namespace, detector_classes: List[Type[AbstractDetector]], printer_classes: List[Type[AbstractPrinter]], -) -> Tuple[List[Slither], List[Dict], List[Dict], int]: +) -> Tuple[List[Slither], List[Dict], List[Output], int]: compilations = compile_all(target, **vars(args)) slither_instances = [] results_detectors = [] @@ -141,23 +141,6 @@ def _process( return slither, results_detectors, results_printers, analyzed_contracts_count -# TODO: delete me? -def process_from_asts( - filenames: List[str], - args: argparse.Namespace, - detector_classes: List[Type[AbstractDetector]], - printer_classes: List[Type[AbstractPrinter]], -) -> Tuple[Slither, List[Dict], List[Dict], int]: - all_contracts: List[str] = [] - - for filename in filenames: - with open(filename, encoding="utf8") as file_open: - contract_loaded = json.load(file_open) - all_contracts.append(contract_loaded["ast"]) - - return process_single(all_contracts, args, detector_classes, printer_classes) - - # endregion ################################################################################### ################################################################################### @@ -605,9 +588,6 @@ def parse_args( default=False, ) - # if the json is splitted in different files - parser.add_argument("--splitted", help=argparse.SUPPRESS, action="store_true", default=False) - # Disable the throw/catch on partial analyses parser.add_argument( "--disallow-partial", help=argparse.SUPPRESS, action="store_true", default=False @@ -623,7 +603,7 @@ def parse_args( args.filter_paths = parse_filter_paths(args) # Verify our json-type output is valid - args.json_types = set(args.json_types.split(",")) + args.json_types = set(args.json_types.split(",")) # type:ignore for json_type in args.json_types: if json_type not in JSON_OUTPUT_TYPES: raise Exception(f'Error: "{json_type}" is not a valid JSON result output type.') @@ -632,7 +612,9 @@ def parse_args( class ListDetectors(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser, *args, **kwargs): # pylint: disable=signature-differs + def __call__( + self, parser: Any, *args: Any, **kwargs: Any + ) -> None: # pylint: disable=signature-differs detectors, _ = get_detectors_and_printers() output_detectors(detectors) parser.exit() @@ -694,14 +676,14 @@ class OutputWiki(argparse.Action): # pylint: disable=too-few-public-methods class FormatterCryticCompile(logging.Formatter): - def format(self, record): + def format(self, record: logging.LogRecord) -> str: # for i, msg in enumerate(record.msg): if record.msg.startswith("Compilation warnings/errors on "): - txt = record.args[1] - txt = txt.split("\n") + txt = record.args[1] # type:ignore + txt = txt.split("\n") # type:ignore txt = [red(x) if "Error" in x else x for x in txt] txt = "\n".join(txt) - record.args = (record.args[0], txt) + record.args = (record.args[0], txt) # type:ignore return super().format(record) @@ -744,7 +726,7 @@ def main_impl( set_colorization_enabled(False if args.disable_color else sys.stdout.isatty()) # Define some variables for potential JSON output - json_results = {} + json_results: Dict[str, Any] = {} output_error = None outputting_json = args.json is not None outputting_json_stdout = args.json == "-" @@ -793,7 +775,7 @@ def main_impl( crytic_compile_error.setLevel(logging.INFO) results_detectors: List[Dict] = [] - results_printers: List[Dict] = [] + results_printers: List[Output] = [] try: filename = args.filename @@ -806,26 +788,17 @@ def main_impl( number_contracts = 0 slither_instances = [] - if args.splitted: + for filename in filenames: ( slither_instance, - results_detectors, - results_printers, - number_contracts, - ) = process_from_asts(filenames, args, detector_classes, printer_classes) + results_detectors_tmp, + results_printers_tmp, + number_contracts_tmp, + ) = process_single(filename, args, detector_classes, printer_classes) + number_contracts += number_contracts_tmp + results_detectors += results_detectors_tmp + results_printers += results_printers_tmp slither_instances.append(slither_instance) - else: - for filename in filenames: - ( - slither_instance, - results_detectors_tmp, - results_printers_tmp, - number_contracts_tmp, - ) = process_single(filename, args, detector_classes, printer_classes) - number_contracts += number_contracts_tmp - results_detectors += results_detectors_tmp - results_printers += results_printers_tmp - slither_instances.append(slither_instance) # Rely on CryticCompile to discern the underlying type of compilations. else: diff --git a/slither/analyses/data_dependency/data_dependency.py b/slither/analyses/data_dependency/data_dependency.py index 7750fc99a..12e809fa5 100644 --- a/slither/analyses/data_dependency/data_dependency.py +++ b/slither/analyses/data_dependency/data_dependency.py @@ -2,8 +2,9 @@ Compute the data depenency between all the SSA variables """ from collections import defaultdict -from typing import Union, Set, Dict, TYPE_CHECKING +from typing import Union, Set, Dict, TYPE_CHECKING, List +from slither.core.cfg.node import Node from slither.core.declarations import ( Contract, Enum, @@ -12,11 +13,14 @@ from slither.core.declarations import ( SolidityVariable, SolidityVariableComposed, Structure, + FunctionContract, ) from slither.core.declarations.solidity_import_placeholder import SolidityImportPlaceHolder +from slither.core.solidity_types.type import Type from slither.core.variables.top_level_variable import TopLevelVariable from slither.core.variables.variable import Variable from slither.slithir.operations import Index, OperationWithLValue, InternalCall, Operation +from slither.slithir.utils.utils import LVALUE from slither.slithir.variables import ( Constant, LocalIRVariable, @@ -26,12 +30,11 @@ from slither.slithir.variables import ( TemporaryVariableSSA, TupleVariableSSA, ) -from slither.core.solidity_types.type import Type +from slither.slithir.variables.variable import SlithIRVariable if TYPE_CHECKING: from slither.core.compilation_unit import SlitherCompilationUnit - ################################################################################### ################################################################################### # region User APIs @@ -39,26 +42,39 @@ if TYPE_CHECKING: ################################################################################### -Variable_types = Union[Variable, SolidityVariable] +SUPPORTED_TYPES = Union[Variable, SolidityVariable] + +# TODO refactor the data deps to be better suited for top level function object +# Right now we allow to pass a node to ease the API, but we need something +# better +# The deps propagation for top level elements is also not working as expected +Context_types_API = Union[Contract, Function, Node] Context_types = Union[Contract, Function] def is_dependent( - variable: Variable_types, - source: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + source: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ) -> bool: """ + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not + Args: variable (Variable) source (Variable) - context (Contract|Function) + context (Contract|Function|Node). only_unprotected (bool): True only unprotected function are considered Returns: bool """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func + if isinstance(variable, Constant): return False if variable == source: @@ -74,12 +90,15 @@ def is_dependent( def is_dependent_ssa( - variable: Variable_types, - source: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + source: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ) -> bool: """ + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not + Args: variable (Variable) taint (Variable) @@ -88,7 +107,10 @@ def is_dependent_ssa( Returns: bool """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func context_dict = context.context if isinstance(variable, Constant): return False @@ -112,12 +134,15 @@ GENERIC_TAINT = { def is_tainted( - variable: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ignore_generic_taint: bool = False, ) -> bool: """ + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not + Args: variable context (Contract|Function) @@ -125,7 +150,10 @@ def is_tainted( Returns: bool """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if isinstance(variable, Constant): return False @@ -139,12 +167,15 @@ def is_tainted( def is_tainted_ssa( - variable: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ignore_generic_taint: bool = False, -): +) -> bool: """ + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not + Args: variable context (Contract|Function) @@ -152,7 +183,10 @@ def is_tainted_ssa( Returns: bool """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if isinstance(variable, Constant): return False @@ -166,19 +200,24 @@ def is_tainted_ssa( def get_dependencies( - variable: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ) -> Set[Variable]: """ Return the variables for which `variable` depends on. + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not :param variable: The target :param context: Either a function (interprocedural) or a contract (inter transactional) :param only_unprotected: True if consider only protected functions :return: set(Variable) """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if only_unprotected: return context.context[KEY_NON_SSA_UNPROTECTED].get(variable, set()) @@ -186,16 +225,21 @@ def get_dependencies( def get_all_dependencies( - context: Context_types, only_unprotected: bool = False + context: Context_types_API, only_unprotected: bool = False ) -> Dict[Variable, Set[Variable]]: """ Return the dictionary of dependencies. + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not :param context: Either a function (interprocedural) or a contract (inter transactional) :param only_unprotected: True if consider only protected functions :return: Dict(Variable, set(Variable)) """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if only_unprotected: return context.context[KEY_NON_SSA_UNPROTECTED] @@ -203,19 +247,24 @@ def get_all_dependencies( def get_dependencies_ssa( - variable: Variable_types, - context: Context_types, + variable: SUPPORTED_TYPES, + context: Context_types_API, only_unprotected: bool = False, ) -> Set[Variable]: """ Return the variables for which `variable` depends on (SSA version). + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not :param variable: The target (must be SSA variable) :param context: Either a function (interprocedural) or a contract (inter transactional) :param only_unprotected: True if consider only protected functions :return: set(Variable) """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if only_unprotected: return context.context[KEY_SSA_UNPROTECTED].get(variable, set()) @@ -223,16 +272,21 @@ def get_dependencies_ssa( def get_all_dependencies_ssa( - context: Context_types, only_unprotected: bool = False + context: Context_types_API, only_unprotected: bool = False ) -> Dict[Variable, Set[Variable]]: """ Return the dictionary of dependencies. + If Node is provided as context, the context will be the broader context, either the contract or the function, + depending on if the node is in a top level function or not :param context: Either a function (interprocedural) or a contract (inter transactional) :param only_unprotected: True if consider only protected functions :return: Dict(Variable, set(Variable)) """ - assert isinstance(context, (Contract, Function)) + assert isinstance(context, (Contract, Function, Node)) + if isinstance(context, Node): + func = context.function + context = func.contract if isinstance(func, FunctionContract) else func assert isinstance(only_unprotected, bool) if only_unprotected: return context.context[KEY_SSA_UNPROTECTED] @@ -342,13 +396,9 @@ def transitive_close_dependencies( while changed: changed = False to_add = defaultdict(set) - [ # pylint: disable=expression-not-assigned - [ + for key, items in context.context[context_key].items(): + for item in items & keys: to_add[key].update(context.context[context_key][item] - {key} - items) - for item in items & keys - ] - for key, items in context.context[context_key].items() - ] for k, v in to_add.items(): # Because we dont have any check on the update operation # We might update an empty set with an empty set @@ -367,20 +417,20 @@ def add_dependency(lvalue: Variable, function: Function, ir: Operation, is_prote function.context[KEY_SSA][lvalue] = set() if not is_protected: function.context[KEY_SSA_UNPROTECTED][lvalue] = set() + read: Union[List[Union[LVALUE, SolidityVariableComposed]], List[SlithIRVariable]] if isinstance(ir, Index): read = [ir.variable_left] - elif isinstance(ir, InternalCall): + elif isinstance(ir, InternalCall) and ir.function: read = ir.function.return_values_ssa else: read = ir.read - # pylint: disable=expression-not-assigned - [function.context[KEY_SSA][lvalue].add(v) for v in read if not isinstance(v, Constant)] + for v in read: + if not isinstance(v, Constant): + function.context[KEY_SSA][lvalue].add(v) if not is_protected: - [ - function.context[KEY_SSA_UNPROTECTED][lvalue].add(v) - for v in read - if not isinstance(v, Constant) - ] + for v in read: + if not isinstance(v, Constant): + function.context[KEY_SSA_UNPROTECTED][lvalue].add(v) def compute_dependency_function(function: Function) -> None: @@ -408,7 +458,7 @@ def compute_dependency_function(function: Function) -> None: ) -def convert_variable_to_non_ssa(v: Variable_types) -> Variable_types: +def convert_variable_to_non_ssa(v: SUPPORTED_TYPES) -> SUPPORTED_TYPES: if isinstance( v, ( @@ -439,10 +489,10 @@ def convert_variable_to_non_ssa(v: Variable_types) -> Variable_types: def convert_to_non_ssa( - data_depencies: Dict[Variable_types, Set[Variable_types]] -) -> Dict[Variable_types, Set[Variable_types]]: + data_depencies: Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]] +) -> Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]]: # Need to create new set() as its changed during iteration - ret: Dict[Variable_types, Set[Variable_types]] = {} + ret: Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]] = {} for (k, values) in data_depencies.items(): var = convert_variable_to_non_ssa(k) if not var in ret: diff --git a/slither/analyses/write/are_variables_written.py b/slither/analyses/write/are_variables_written.py index 1b430012f..2f8f83063 100644 --- a/slither/analyses/write/are_variables_written.py +++ b/slither/analyses/write/are_variables_written.py @@ -2,10 +2,10 @@ Detect if all the given variables are written in all the paths of the function """ from collections import defaultdict -from typing import Dict, Set, List +from typing import Dict, Set, List, Any, Optional from slither.core.cfg.node import NodeType, Node -from slither.core.declarations import SolidityFunction +from slither.core.declarations import SolidityFunction, Function from slither.core.variables.variable import Variable from slither.slithir.operations import ( Index, @@ -18,7 +18,7 @@ from slither.slithir.variables import ReferenceVariable, TemporaryVariable class State: # pylint: disable=too-few-public-methods - def __init__(self): + def __init__(self) -> None: # Map node -> list of variables set # Were each variables set represents a configuration of a path # If two paths lead to the exact same set of variables written, we dont need to explore both @@ -34,11 +34,11 @@ class State: # pylint: disable=too-few-public-methods # pylint: disable=too-many-branches def _visit( - node: Node, + node: Optional[Node], state: State, variables_written: Set[Variable], variables_to_write: List[Variable], -): +) -> List[Variable]: """ Explore all the nodes to look for values not written when the node's function return Fixpoint reaches if no new written variables are found @@ -51,6 +51,8 @@ def _visit( refs = {} variables_written = set(variables_written) + if not node: + return [] for ir in node.irs: if isinstance(ir, SolidityCall): # TODO convert the revert to a THROW node @@ -70,17 +72,20 @@ def _visit( if ir.lvalue and not isinstance(ir.lvalue, (TemporaryVariable, ReferenceVariable)): variables_written.add(ir.lvalue) - lvalue = ir.lvalue + lvalue: Any = ir.lvalue while isinstance(lvalue, ReferenceVariable): if lvalue not in refs: break - if refs[lvalue] and not isinstance( - refs[lvalue], (TemporaryVariable, ReferenceVariable) + refs_lvalues = refs[lvalue] + if ( + refs_lvalues + and isinstance(refs_lvalues, Variable) + and not isinstance(refs_lvalues, (TemporaryVariable, ReferenceVariable)) ): - variables_written.add(refs[lvalue]) - lvalue = refs[lvalue] + variables_written.add(refs_lvalues) + lvalue = refs_lvalues - ret = [] + ret: List[Variable] = [] if not node.sons and node.type not in [NodeType.THROW, NodeType.RETURN]: ret += [v for v in variables_to_write if v not in variables_written] @@ -96,7 +101,7 @@ def _visit( return ret -def are_variables_written(function, variables_to_write): +def are_variables_written(function: Function, variables_to_write: List[Variable]) -> List[Variable]: """ Return the list of variable that are not written at the end of the function diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index 7643b19b7..2a48bd235 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -5,8 +5,7 @@ from enum import Enum from typing import Optional, List, Set, Dict, Tuple, Union, TYPE_CHECKING from slither.all_exceptions import SlitherException -from slither.core.children.child_function import ChildFunction -from slither.core.declarations import Contract, Function +from slither.core.declarations import Contract, Function, FunctionContract from slither.core.declarations.solidity_variables import ( SolidityVariable, SolidityFunction, @@ -33,6 +32,7 @@ from slither.slithir.operations import ( Return, Operation, ) +from slither.slithir.utils.utils import RVALUE from slither.slithir.variables import ( Constant, LocalIRVariable, @@ -106,7 +106,7 @@ class NodeType(Enum): # I am not sure why, but pylint reports a lot of "no-member" issue that are not real (Josselin) # pylint: disable=no-member -class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-methods +class Node(SourceMapping): # pylint: disable=too-many-public-methods """ Node class @@ -146,12 +146,12 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._node_id: int = node_id self._vars_written: List[Variable] = [] - self._vars_read: List[Variable] = [] + self._vars_read: List[Union[Variable, SolidityVariable]] = [] self._ssa_vars_written: List["SlithIRVariable"] = [] self._ssa_vars_read: List["SlithIRVariable"] = [] - self._internal_calls: List["Function"] = [] + self._internal_calls: List[Union["Function", "SolidityFunction"]] = [] self._solidity_calls: List[SolidityFunction] = [] self._high_level_calls: List["HighLevelCallType"] = [] # contains library calls self._library_calls: List["LibraryCallType"] = [] @@ -172,7 +172,9 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._local_vars_read: List[LocalVariable] = [] self._local_vars_written: List[LocalVariable] = [] - self._slithir_vars: Set["SlithIRVariable"] = set() # non SSA + self._slithir_vars: Set[ + Union["SlithIRVariable", ReferenceVariable, TemporaryVariable, TupleVariable] + ] = set() # non SSA self._ssa_local_vars_read: List[LocalIRVariable] = [] self._ssa_local_vars_written: List[LocalIRVariable] = [] @@ -189,6 +191,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self.scope: Union["Scope", "Function"] = scope self.file_scope: "FileScope" = file_scope + self._function: Optional["Function"] = None ################################################################################### ################################################################################### @@ -213,7 +216,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._node_type @type.setter - def type(self, new_type: NodeType): + def type(self, new_type: NodeType) -> None: self._node_type = new_type @property @@ -224,6 +227,13 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return True return False + def set_function(self, function: "Function") -> None: + self._function = function + + @property + def function(self) -> "Function": + return self._function + # endregion ################################################################################### ################################################################################### @@ -232,7 +242,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met ################################################################################### @property - def variables_read(self) -> List[Variable]: + def variables_read(self) -> List[Union[Variable, SolidityVariable]]: """ list(Variable): Variables read (local/state/solidity) """ @@ -285,11 +295,13 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._expression_vars_read @variables_read_as_expression.setter - def variables_read_as_expression(self, exprs: List[Expression]): + def variables_read_as_expression(self, exprs: List[Expression]) -> None: self._expression_vars_read = exprs @property - def slithir_variables(self) -> List["SlithIRVariable"]: + def slithir_variables( + self, + ) -> List[Union["SlithIRVariable", ReferenceVariable, TemporaryVariable, TupleVariable]]: return list(self._slithir_vars) @property @@ -339,7 +351,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._expression_vars_written @variables_written_as_expression.setter - def variables_written_as_expression(self, exprs: List[Expression]): + def variables_written_as_expression(self, exprs: List[Expression]) -> None: self._expression_vars_written = exprs # endregion @@ -399,7 +411,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._external_calls_as_expressions @external_calls_as_expressions.setter - def external_calls_as_expressions(self, exprs: List[Expression]): + def external_calls_as_expressions(self, exprs: List[Expression]) -> None: self._external_calls_as_expressions = exprs @property @@ -410,7 +422,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._internal_calls_as_expressions @internal_calls_as_expressions.setter - def internal_calls_as_expressions(self, exprs: List[Expression]): + def internal_calls_as_expressions(self, exprs: List[Expression]) -> None: self._internal_calls_as_expressions = exprs @property @@ -418,10 +430,10 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return list(self._expression_calls) @calls_as_expression.setter - def calls_as_expression(self, exprs: List[Expression]): + def calls_as_expression(self, exprs: List[Expression]) -> None: self._expression_calls = exprs - def can_reenter(self, callstack=None) -> bool: + def can_reenter(self, callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Check if the node can re-enter Do not consider CREATE as potential re-enter, but check if the @@ -567,7 +579,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met """ self._fathers.append(father) - def set_fathers(self, fathers: List["Node"]): + def set_fathers(self, fathers: List["Node"]) -> None: """Set the father nodes Args: @@ -608,6 +620,21 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met """ self._sons.append(son) + def replace_son(self, ori_son: "Node", new_son: "Node") -> None: + """Replace a son node. Do nothing if the node to replace is not a son + + Args: + ori_son: son to replace + new_son: son to replace with + """ + for i, s in enumerate(self._sons): + if s.node_id == ori_son.node_id: + idx = i + break + else: + return + self._sons[idx] = new_son + def set_sons(self, sons: List["Node"]) -> None: """Set the son nodes @@ -663,20 +690,20 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._irs_ssa @irs_ssa.setter - def irs_ssa(self, irs): + def irs_ssa(self, irs: List[Operation]) -> None: self._irs_ssa = irs def add_ssa_ir(self, ir: Operation) -> None: """ Use to place phi operation """ - ir.set_node(self) + ir.set_node(self) # type: ignore self._irs_ssa.append(ir) def slithir_generation(self) -> None: if self.expression: expression = self.expression - self._irs = convert_expression(expression, self) + self._irs = convert_expression(expression, self) # type:ignore self._find_read_write_call() @@ -713,7 +740,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._dominators @dominators.setter - def dominators(self, dom: Set["Node"]): + def dominators(self, dom: Set["Node"]) -> None: self._dominators = dom @property @@ -725,7 +752,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._immediate_dominator @immediate_dominator.setter - def immediate_dominator(self, idom: "Node"): + def immediate_dominator(self, idom: "Node") -> None: self._immediate_dominator = idom @property @@ -737,7 +764,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met return self._dominance_frontier @dominance_frontier.setter - def dominance_frontier(self, doms: Set["Node"]): + def dominance_frontier(self, doms: Set["Node"]) -> None: """ Returns: set(Node) @@ -789,6 +816,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met def add_phi_origin_local_variable(self, variable: LocalVariable, node: "Node") -> None: if variable.name not in self._phi_origins_local_variables: + assert variable.name self._phi_origins_local_variables[variable.name] = (variable, set()) (v, nodes) = self._phi_origins_local_variables[variable.name] assert v == variable @@ -827,7 +855,8 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met if isinstance(ir, OperationWithLValue): var = ir.lvalue if var and self._is_valid_slithir_var(var): - self._slithir_vars.add(var) + # The type is checked by is_valid_slithir_var + self._slithir_vars.add(var) # type: ignore if not isinstance(ir, (Phi, Index, Member)): self._vars_read += [v for v in ir.read if self._is_non_slithir_var(v)] @@ -835,8 +864,9 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met if isinstance(var, ReferenceVariable): self._vars_read.append(var.points_to_origin) elif isinstance(ir, (Member, Index)): + # TODO investigate types for member variable left var = ir.variable_left if isinstance(ir, Member) else ir.variable_right - if self._is_non_slithir_var(var): + if var and self._is_non_slithir_var(var): self._vars_read.append(var) if isinstance(var, ReferenceVariable): origin = var.points_to_origin @@ -860,14 +890,21 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._internal_calls.append(ir.function) if isinstance(ir, LowLevelCall): assert isinstance(ir.destination, (Variable, SolidityVariable)) - self._low_level_calls.append((ir.destination, ir.function_name.value)) + self._low_level_calls.append((ir.destination, str(ir.function_name.value))) elif isinstance(ir, HighLevelCall) and not isinstance(ir, LibraryCall): + # Todo investigate this if condition + # It does seem right to compare against a contract + # This might need a refactoring if isinstance(ir.destination.type, Contract): self._high_level_calls.append((ir.destination.type, ir.function)) elif ir.destination == SolidityVariable("this"): - self._high_level_calls.append((self.function.contract, ir.function)) + func = self.function + # Can't use this in a top level function + assert isinstance(func, FunctionContract) + self._high_level_calls.append((func.contract, ir.function)) else: try: + # Todo this part needs more tests and documentation self._high_level_calls.append((ir.destination.type.type, ir.function)) except AttributeError as error: # pylint: disable=raise-missing-from @@ -883,7 +920,9 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._vars_read = list(set(self._vars_read)) self._state_vars_read = [v for v in self._vars_read if isinstance(v, StateVariable)] self._local_vars_read = [v for v in self._vars_read if isinstance(v, LocalVariable)] - self._solidity_vars_read = [v for v in self._vars_read if isinstance(v, SolidityVariable)] + self._solidity_vars_read = [ + v_ for v_ in self._vars_read if isinstance(v_, SolidityVariable) + ] self._vars_written = list(set(self._vars_written)) self._state_vars_written = [v for v in self._vars_written if isinstance(v, StateVariable)] self._local_vars_written = [v for v in self._vars_written if isinstance(v, LocalVariable)] @@ -895,12 +934,15 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met @staticmethod def _convert_ssa(v: Variable) -> Optional[Union[StateVariable, LocalVariable]]: + non_ssa_var: Optional[Union[StateVariable, LocalVariable]] if isinstance(v, StateIRVariable): contract = v.contract + assert v.name non_ssa_var = contract.get_state_variable_from_name(v.name) return non_ssa_var assert isinstance(v, LocalIRVariable) function = v.function + assert v.name non_ssa_var = function.get_local_variable_from_name(v.name) return non_ssa_var @@ -921,10 +963,11 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._ssa_vars_read.append(origin) elif isinstance(ir, (Member, Index)): - if isinstance(ir.variable_right, (StateIRVariable, LocalIRVariable)): - self._ssa_vars_read.append(ir.variable_right) - if isinstance(ir.variable_right, ReferenceVariable): - origin = ir.variable_right.points_to_origin + variable_right: RVALUE = ir.variable_right + if isinstance(variable_right, (StateIRVariable, LocalIRVariable)): + self._ssa_vars_read.append(variable_right) + if isinstance(variable_right, ReferenceVariable): + origin = variable_right.points_to_origin if isinstance(origin, (StateIRVariable, LocalIRVariable)): self._ssa_vars_read.append(origin) @@ -944,20 +987,20 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met self._ssa_local_vars_read = [v for v in self._ssa_vars_read if isinstance(v, LocalVariable)] self._ssa_vars_written = list(set(self._ssa_vars_written)) self._ssa_state_vars_written = [ - v for v in self._ssa_vars_written if isinstance(v, StateVariable) + v for v in self._ssa_vars_written if v and isinstance(v, StateIRVariable) ] self._ssa_local_vars_written = [ - v for v in self._ssa_vars_written if isinstance(v, LocalVariable) + v for v in self._ssa_vars_written if v and isinstance(v, LocalIRVariable) ] vars_read = [self._convert_ssa(x) for x in self._ssa_vars_read] vars_written = [self._convert_ssa(x) for x in self._ssa_vars_written] - self._vars_read += [v for v in vars_read if v not in self._vars_read] + self._vars_read += [v_ for v_ in vars_read if v_ and v_ not in self._vars_read] self._state_vars_read = [v for v in self._vars_read if isinstance(v, StateVariable)] self._local_vars_read = [v for v in self._vars_read if isinstance(v, LocalVariable)] - self._vars_written += [v for v in vars_written if v not in self._vars_written] + self._vars_written += [v_ for v_ in vars_written if v_ and v_ not in self._vars_written] self._state_vars_written = [v for v in self._vars_written if isinstance(v, StateVariable)] self._local_vars_written = [v for v in self._vars_written if isinstance(v, LocalVariable)] @@ -974,7 +1017,7 @@ class Node(SourceMapping, ChildFunction): # pylint: disable=too-many-public-met additional_info += " " + str(self.expression) elif self.variable_declaration: additional_info += " " + str(self.variable_declaration) - txt = self._node_type.value + additional_info + txt = str(self._node_type.value) + additional_info return txt diff --git a/slither/core/children/child_contract.py b/slither/core/children/child_contract.py deleted file mode 100644 index 86f9dea53..000000000 --- a/slither/core/children/child_contract.py +++ /dev/null @@ -1,19 +0,0 @@ -from typing import TYPE_CHECKING - -from slither.core.source_mapping.source_mapping import SourceMapping - -if TYPE_CHECKING: - from slither.core.declarations import Contract - - -class ChildContract(SourceMapping): - def __init__(self) -> None: - super().__init__() - self._contract = None - - def set_contract(self, contract: "Contract") -> None: - self._contract = contract - - @property - def contract(self) -> "Contract": - return self._contract diff --git a/slither/core/children/child_event.py b/slither/core/children/child_event.py index df91596e3..e69de29bb 100644 --- a/slither/core/children/child_event.py +++ b/slither/core/children/child_event.py @@ -1,17 +0,0 @@ -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from slither.core.declarations import Event - - -class ChildEvent: - def __init__(self) -> None: - super().__init__() - self._event = None - - def set_event(self, event: "Event"): - self._event = event - - @property - def event(self) -> "Event": - return self._event diff --git a/slither/core/children/child_expression.py b/slither/core/children/child_expression.py deleted file mode 100644 index 0064658c0..000000000 --- a/slither/core/children/child_expression.py +++ /dev/null @@ -1,18 +0,0 @@ -from typing import TYPE_CHECKING, Union - -if TYPE_CHECKING: - from slither.core.expressions.expression import Expression - from slither.slithir.operations import Operation - - -class ChildExpression: - def __init__(self) -> None: - super().__init__() - self._expression = None - - def set_expression(self, expression: Union["Expression", "Operation"]) -> None: - self._expression = expression - - @property - def expression(self) -> Union["Expression", "Operation"]: - return self._expression diff --git a/slither/core/children/child_function.py b/slither/core/children/child_function.py deleted file mode 100644 index 5367320ca..000000000 --- a/slither/core/children/child_function.py +++ /dev/null @@ -1,17 +0,0 @@ -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from slither.core.declarations import Function - - -class ChildFunction: - def __init__(self) -> None: - super().__init__() - self._function = None - - def set_function(self, function: "Function") -> None: - self._function = function - - @property - def function(self) -> "Function": - return self._function diff --git a/slither/core/children/child_inheritance.py b/slither/core/children/child_inheritance.py deleted file mode 100644 index 30b32f6c1..000000000 --- a/slither/core/children/child_inheritance.py +++ /dev/null @@ -1,17 +0,0 @@ -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from slither.core.declarations import Contract - - -class ChildInheritance: - def __init__(self) -> None: - super().__init__() - self._contract_declarer = None - - def set_contract_declarer(self, contract: "Contract") -> None: - self._contract_declarer = contract - - @property - def contract_declarer(self) -> "Contract": - return self._contract_declarer diff --git a/slither/core/children/child_node.py b/slither/core/children/child_node.py deleted file mode 100644 index 8e6e1f0b5..000000000 --- a/slither/core/children/child_node.py +++ /dev/null @@ -1,31 +0,0 @@ -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from slither.core.compilation_unit import SlitherCompilationUnit - from slither.core.cfg.node import Node - from slither.core.declarations import Function, Contract - - -class ChildNode: - def __init__(self) -> None: - super().__init__() - self._node = None - - def set_node(self, node: "Node") -> None: - self._node = node - - @property - def node(self) -> "Node": - return self._node - - @property - def function(self) -> "Function": - return self.node.function - - @property - def contract(self) -> "Contract": - return self.node.function.contract - - @property - def compilation_unit(self) -> "SlitherCompilationUnit": - return self.node.compilation_unit diff --git a/slither/core/children/child_structure.py b/slither/core/children/child_structure.py deleted file mode 100644 index abcb041c2..000000000 --- a/slither/core/children/child_structure.py +++ /dev/null @@ -1,17 +0,0 @@ -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from slither.core.declarations import Structure - - -class ChildStructure: - def __init__(self) -> None: - super().__init__() - self._structure = None - - def set_structure(self, structure: "Structure") -> None: - self._structure = structure - - @property - def structure(self) -> "Structure": - return self._structure diff --git a/slither/core/compilation_unit.py b/slither/core/compilation_unit.py index f54f08ab3..4550ea894 100644 --- a/slither/core/compilation_unit.py +++ b/slither/core/compilation_unit.py @@ -57,7 +57,7 @@ class SlitherCompilationUnit(Context): self._storage_layouts: Dict[str, Dict[str, Tuple[int, int]]] = {} - self._contract_with_missing_inheritance = set() + self._contract_with_missing_inheritance: Set[Contract] = set() self._source_units: Dict[int, str] = {} @@ -88,7 +88,8 @@ class SlitherCompilationUnit(Context): @property def solc_version(self) -> str: - return self._crytic_compile_compilation_unit.compiler_version.version + # TODO: make version a non optional argument of compiler version in cc + return self._crytic_compile_compilation_unit.compiler_version.version # type:ignore @property def crytic_compile_compilation_unit(self) -> CompilationUnit: @@ -127,7 +128,7 @@ class SlitherCompilationUnit(Context): """list(Contract): List of contracts that are derived and not inherited.""" inheritances = [x.inheritance for x in self.contracts] inheritance = [item for sublist in inheritances for item in sublist] - return [c for c in self.contracts if c not in inheritance and not c.is_top_level] + return [c for c in self.contracts if c not in inheritance] def get_contract_from_name(self, contract_name: Union[str, Constant]) -> List[Contract]: """ @@ -162,13 +163,14 @@ class SlitherCompilationUnit(Context): @property def functions_and_modifiers(self) -> List[Function]: - return self.functions + self.modifiers + return self.functions + list(self.modifiers) def propagate_function_calls(self) -> None: for f in self.functions_and_modifiers: for node in f.nodes: for ir in node.irs_ssa: if isinstance(ir, InternalCall): + assert ir.function ir.function.add_reachable_from_node(node, ir) # endregion @@ -181,8 +183,8 @@ class SlitherCompilationUnit(Context): @property def state_variables(self) -> List[StateVariable]: if self._all_state_variables is None: - state_variables = [c.state_variables for c in self.contracts] - state_variables = [item for sublist in state_variables for item in sublist] + state_variabless = [c.state_variables for c in self.contracts] + state_variables = [item for sublist in state_variabless for item in sublist] self._all_state_variables = set(state_variables) return list(self._all_state_variables) @@ -229,7 +231,7 @@ class SlitherCompilationUnit(Context): ################################################################################### @property - def contracts_with_missing_inheritance(self) -> Set: + def contracts_with_missing_inheritance(self) -> Set[Contract]: return self._contract_with_missing_inheritance # endregion @@ -266,6 +268,7 @@ class SlitherCompilationUnit(Context): if var.is_constant or var.is_immutable: continue + assert var.type size, new_slot = var.type.storage_size if new_slot: @@ -285,7 +288,7 @@ class SlitherCompilationUnit(Context): else: offset += size - def storage_layout_of(self, contract, var) -> Tuple[int, int]: + def storage_layout_of(self, contract: Contract, var: StateVariable) -> Tuple[int, int]: return self._storage_layouts[contract.name][var.canonical_name] # endregion diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py index 95b05aa6b..fd2cdd468 100644 --- a/slither/core/declarations/contract.py +++ b/slither/core/declarations/contract.py @@ -49,6 +49,9 @@ if TYPE_CHECKING: LOGGER = logging.getLogger("Contract") +USING_FOR_KEY = Union[str, Type] +USING_FOR_ITEM = List[Union[Type, Function]] + class Contract(SourceMapping): # pylint: disable=too-many-public-methods """ @@ -80,21 +83,23 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods self._custom_errors: Dict[str, "CustomErrorContract"] = {} # The only str is "*" - self._using_for: Dict[Union[str, Type], List[Type]] = {} - self._using_for_complete: Dict[Union[str, Type], List[Type]] = None + self._using_for: Dict[USING_FOR_KEY, USING_FOR_ITEM] = {} + self._using_for_complete: Optional[Dict[USING_FOR_KEY, USING_FOR_ITEM]] = None self._kind: Optional[str] = None self._is_interface: bool = False self._is_library: bool = False + self._is_fully_implemented: bool = False self._signatures: Optional[List[str]] = None self._signatures_declared: Optional[List[str]] = None + self._fallback_function: Optional["FunctionContract"] = None + self._receive_function: Optional["FunctionContract"] = None + self._is_upgradeable: Optional[bool] = None self._is_upgradeable_proxy: Optional[bool] = None self._upgradeable_version: Optional[str] = None - self.is_top_level = False # heavily used, so no @property - self._initial_state_variables: List["StateVariable"] = [] # ssa self._is_incorrectly_parsed: bool = False @@ -125,7 +130,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._name @name.setter - def name(self, name: str): + def name(self, name: str) -> None: self._name = name @property @@ -135,7 +140,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._id @id.setter - def id(self, new_id): + def id(self, new_id: int) -> None: """Unique id.""" self._id = new_id @@ -148,7 +153,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._kind @contract_kind.setter - def contract_kind(self, kind): + def contract_kind(self, kind: str) -> None: self._kind = kind @property @@ -156,7 +161,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._is_interface @is_interface.setter - def is_interface(self, is_interface: bool): + def is_interface(self, is_interface: bool) -> None: self._is_interface = is_interface @property @@ -164,7 +169,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._is_library @is_library.setter - def is_library(self, is_library: bool): + def is_library(self, is_library: bool) -> None: self._is_library = is_library @property @@ -192,6 +197,14 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods def comments(self, comments: str): self._comments = comments + @property + def is_fully_implemented(self) -> bool: + return self._is_fully_implemented + + @is_fully_implemented.setter + def is_fully_implemented(self, is_fully_implemented: bool): + self._is_fully_implemented = is_fully_implemented + # endregion ################################################################################### ################################################################################### @@ -293,16 +306,18 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods ################################################################################### @property - def using_for(self) -> Dict[Union[str, Type], List[Type]]: + def using_for(self) -> Dict[USING_FOR_KEY, USING_FOR_ITEM]: return self._using_for @property - def using_for_complete(self) -> Dict[Union[str, Type], List[Type]]: + def using_for_complete(self) -> Dict[USING_FOR_KEY, USING_FOR_ITEM]: """ Dict[Union[str, Type], List[Type]]: Dict of merged local using for directive with top level directive """ - def _merge_using_for(uf1, uf2): + def _merge_using_for( + uf1: Dict[USING_FOR_KEY, USING_FOR_ITEM], uf2: Dict[USING_FOR_KEY, USING_FOR_ITEM] + ) -> Dict[USING_FOR_KEY, USING_FOR_ITEM]: result = {**uf1, **uf2} for key, value in result.items(): if key in uf1 and key in uf2: @@ -482,7 +497,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods ) @property - def constructors(self) -> List["Function"]: + def constructors(self) -> List["FunctionContract"]: """ Return the list of constructors (including inherited) """ @@ -551,14 +566,14 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods """ return list(self._functions.values()) - def available_functions_as_dict(self) -> Dict[str, "FunctionContract"]: + def available_functions_as_dict(self) -> Dict[str, "Function"]: if self._available_functions_as_dict is None: self._available_functions_as_dict = { f.full_name: f for f in self._functions.values() if not f.is_shadowed } return self._available_functions_as_dict - def add_function(self, func: "FunctionContract"): + def add_function(self, func: "FunctionContract") -> None: self._functions[func.canonical_name] = func def set_functions(self, functions: Dict[str, "FunctionContract"]) -> None: @@ -649,6 +664,24 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods """ return self.functions_declared + self.modifiers_declared # type: ignore + @property + def fallback_function(self) -> Optional["FunctionContract"]: + if self._fallback_function is None: + for f in self.functions: + if f.is_fallback: + self._fallback_function = f + break + return self._fallback_function + + @property + def receive_function(self) -> Optional["FunctionContract"]: + if self._receive_function is None: + for f in self.functions: + if f.is_receive: + self._receive_function = f + break + return self._receive_function + def available_elements_from_inheritances( self, elements: Dict[str, "Function"], @@ -726,7 +759,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods list(Contract): Return the list of contracts derived from self """ candidates = self.compilation_unit.contracts - return [c for c in candidates if self in c.inheritance] + return [c for c in candidates if self in c.inheritance] # type: ignore # endregion ################################################################################### @@ -882,7 +915,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods """ return next((e for e in self.enums if e.name == enum_name), None) - def get_enum_from_canonical_name(self, enum_name) -> Optional["Enum"]: + def get_enum_from_canonical_name(self, enum_name: str) -> Optional["Enum"]: """ Return an enum from a canonical name Args: @@ -983,7 +1016,9 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods ################################################################################### ################################################################################### - def get_summary(self, include_shadowed=True) -> Tuple[str, List[str], List[str], List, List]: + def get_summary( + self, include_shadowed: bool = True + ) -> Tuple[str, List[str], List[str], List, List]: """Return the function summary :param include_shadowed: boolean to indicate if shadowed functions should be included (default True) @@ -1236,7 +1271,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods @property def is_test(self) -> bool: - return is_test_contract(self) or self.is_truffle_migration + return is_test_contract(self) or self.is_truffle_migration # type: ignore # endregion ################################################################################### @@ -1246,7 +1281,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods ################################################################################### def update_read_write_using_ssa(self) -> None: - for function in self.functions + self.modifiers: + for function in self.functions + list(self.modifiers): function.update_read_write_using_ssa() # endregion @@ -1281,7 +1316,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._is_upgradeable @is_upgradeable.setter - def is_upgradeable(self, upgradeable: bool): + def is_upgradeable(self, upgradeable: bool) -> None: self._is_upgradeable = upgradeable @property @@ -1310,7 +1345,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._is_upgradeable_proxy @is_upgradeable_proxy.setter - def is_upgradeable_proxy(self, upgradeable_proxy: bool): + def is_upgradeable_proxy(self, upgradeable_proxy: bool) -> None: self._is_upgradeable_proxy = upgradeable_proxy @property @@ -1318,7 +1353,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._upgradeable_version @upgradeable_version.setter - def upgradeable_version(self, version_name: str): + def upgradeable_version(self, version_name: str) -> None: self._upgradeable_version = version_name # endregion @@ -1337,7 +1372,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self._is_incorrectly_parsed @is_incorrectly_constructed.setter - def is_incorrectly_constructed(self, incorrect: bool): + def is_incorrectly_constructed(self, incorrect: bool) -> None: self._is_incorrectly_parsed = incorrect def add_constructor_variables(self) -> None: @@ -1349,8 +1384,8 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods constructor_variable = FunctionContract(self.compilation_unit) constructor_variable.set_function_type(FunctionType.CONSTRUCTOR_VARIABLES) - constructor_variable.set_contract(self) - constructor_variable.set_contract_declarer(self) + constructor_variable.set_contract(self) # type: ignore + constructor_variable.set_contract_declarer(self) # type: ignore constructor_variable.set_visibility("internal") # For now, source mapping of the constructor variable is the whole contract # Could be improved with a targeted source mapping @@ -1381,8 +1416,8 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods constructor_variable.set_function_type( FunctionType.CONSTRUCTOR_CONSTANT_VARIABLES ) - constructor_variable.set_contract(self) - constructor_variable.set_contract_declarer(self) + constructor_variable.set_contract(self) # type: ignore + constructor_variable.set_contract_declarer(self) # type: ignore constructor_variable.set_visibility("internal") # For now, source mapping of the constructor variable is the whole contract # Could be improved with a targeted source mapping @@ -1463,22 +1498,23 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods all_ssa_state_variables_instances[v.canonical_name] = new_var self._initial_state_variables.append(new_var) - for func in self.functions + self.modifiers: + for func in self.functions + list(self.modifiers): func.generate_slithir_ssa(all_ssa_state_variables_instances) def fix_phi(self) -> None: - last_state_variables_instances = {} - initial_state_variables_instances = {} + last_state_variables_instances: Dict[str, List["StateVariable"]] = {} + initial_state_variables_instances: Dict[str, "StateVariable"] = {} for v in self._initial_state_variables: last_state_variables_instances[v.canonical_name] = [] initial_state_variables_instances[v.canonical_name] = v - for func in self.functions + self.modifiers: + for func in self.functions + list(self.modifiers): result = func.get_last_ssa_state_variables_instances() for variable_name, instances in result.items(): - last_state_variables_instances[variable_name] += instances + # TODO: investigate the next operation + last_state_variables_instances[variable_name] += list(instances) - for func in self.functions + self.modifiers: + for func in self.functions + list(self.modifiers): func.fix_phi(last_state_variables_instances, initial_state_variables_instances) # endregion @@ -1488,7 +1524,7 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods ################################################################################### ################################################################################### - def __eq__(self, other: SourceMapping) -> bool: + def __eq__(self, other: Any) -> bool: if isinstance(other, str): return other == self.name return NotImplemented @@ -1502,6 +1538,6 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods return self.name def __hash__(self) -> int: - return self._id + return self._id # type:ignore # endregion diff --git a/slither/core/declarations/contract_level.py b/slither/core/declarations/contract_level.py new file mode 100644 index 000000000..9b81e6d33 --- /dev/null +++ b/slither/core/declarations/contract_level.py @@ -0,0 +1,29 @@ +from typing import TYPE_CHECKING, Optional + +from slither.core.source_mapping.source_mapping import SourceMapping + +if TYPE_CHECKING: + from slither.core.declarations import Contract + + +class ContractLevel(SourceMapping): + """ + This class is used to represent objects that are at the contract level + The opposite is TopLevel + + """ + + def __init__(self) -> None: + super().__init__() + # TODO remove all the setters for the child objects + # And make it a constructor arguement + # This will remove the optional + self._contract: Optional["Contract"] = None + + def set_contract(self, contract: "Contract") -> None: + self._contract = contract + + @property + def contract(self) -> "Contract": + assert self._contract + return self._contract diff --git a/slither/core/declarations/custom_error.py b/slither/core/declarations/custom_error.py index 5e851c8da..7e78748c6 100644 --- a/slither/core/declarations/custom_error.py +++ b/slither/core/declarations/custom_error.py @@ -1,4 +1,4 @@ -from typing import List, TYPE_CHECKING, Optional, Type, Union +from typing import List, TYPE_CHECKING, Optional, Type from slither.core.solidity_types import UserDefinedType from slither.core.source_mapping.source_mapping import SourceMapping @@ -42,7 +42,7 @@ class CustomError(SourceMapping): ################################################################################### @staticmethod - def _convert_type_for_solidity_signature(t: Optional[Union[Type, List[Type]]]) -> str: + def _convert_type_for_solidity_signature(t: Optional[Type]) -> str: # pylint: disable=import-outside-toplevel from slither.core.declarations import Contract @@ -51,7 +51,7 @@ class CustomError(SourceMapping): return str(t) @property - def solidity_signature(self) -> Optional[str]: + def solidity_signature(self) -> str: """ Return a signature following the Solidity Standard Contract and converted into address @@ -63,7 +63,7 @@ class CustomError(SourceMapping): # (set_solidity_sig was not called before find_variable) if self._solidity_signature is None: raise ValueError("Custom Error not yet built") - return self._solidity_signature + return self._solidity_signature # type: ignore def set_solidity_sig(self) -> None: """ @@ -72,7 +72,7 @@ class CustomError(SourceMapping): Returns: """ - parameters = [x.type for x in self.parameters] + parameters = [x.type for x in self.parameters if x.type] self._full_name = self.name + "(" + ",".join(map(str, parameters)) + ")" solidity_parameters = map(self._convert_type_for_solidity_signature, parameters) self._solidity_signature = self.name + "(" + ",".join(solidity_parameters) + ")" diff --git a/slither/core/declarations/custom_error_contract.py b/slither/core/declarations/custom_error_contract.py index a96f12057..cd279a3a6 100644 --- a/slither/core/declarations/custom_error_contract.py +++ b/slither/core/declarations/custom_error_contract.py @@ -1,9 +1,15 @@ -from slither.core.children.child_contract import ChildContract +from typing import TYPE_CHECKING +from slither.core.declarations.contract_level import ContractLevel + + from slither.core.declarations.custom_error import CustomError +if TYPE_CHECKING: + from slither.core.declarations import Contract + -class CustomErrorContract(CustomError, ChildContract): - def is_declared_by(self, contract): +class CustomErrorContract(CustomError, ContractLevel): + def is_declared_by(self, contract: "Contract") -> bool: """ Check if the element is declared by the contract :param contract: diff --git a/slither/core/declarations/custom_error_top_level.py b/slither/core/declarations/custom_error_top_level.py index 29a9fd41a..64a6a8535 100644 --- a/slither/core/declarations/custom_error_top_level.py +++ b/slither/core/declarations/custom_error_top_level.py @@ -9,6 +9,6 @@ if TYPE_CHECKING: class CustomErrorTopLevel(CustomError, TopLevel): - def __init__(self, compilation_unit: "SlitherCompilationUnit", scope: "FileScope"): + def __init__(self, compilation_unit: "SlitherCompilationUnit", scope: "FileScope") -> None: super().__init__(compilation_unit) self.file_scope: "FileScope" = scope diff --git a/slither/core/declarations/enum_contract.py b/slither/core/declarations/enum_contract.py index 46168d107..2e51ae511 100644 --- a/slither/core/declarations/enum_contract.py +++ b/slither/core/declarations/enum_contract.py @@ -1,13 +1,13 @@ from typing import TYPE_CHECKING -from slither.core.children.child_contract import ChildContract +from slither.core.declarations.contract_level import ContractLevel from slither.core.declarations import Enum if TYPE_CHECKING: from slither.core.declarations import Contract -class EnumContract(Enum, ChildContract): +class EnumContract(Enum, ContractLevel): def is_declared_by(self, contract: "Contract") -> bool: """ Check if the element is declared by the contract diff --git a/slither/core/declarations/event.py b/slither/core/declarations/event.py index d616679a2..9d42ac224 100644 --- a/slither/core/declarations/event.py +++ b/slither/core/declarations/event.py @@ -1,6 +1,6 @@ from typing import List, Tuple, TYPE_CHECKING -from slither.core.children.child_contract import ChildContract +from slither.core.declarations.contract_level import ContractLevel from slither.core.source_mapping.source_mapping import SourceMapping from slither.core.variables.event_variable import EventVariable @@ -8,7 +8,7 @@ if TYPE_CHECKING: from slither.core.declarations import Contract -class Event(ChildContract, SourceMapping): +class Event(ContractLevel, SourceMapping): def __init__(self) -> None: super().__init__() self._name = None diff --git a/slither/core/declarations/function.py b/slither/core/declarations/function.py index c383fc99b..e77801961 100644 --- a/slither/core/declarations/function.py +++ b/slither/core/declarations/function.py @@ -47,7 +47,6 @@ if TYPE_CHECKING: from slither.core.compilation_unit import SlitherCompilationUnit from slither.core.scope.scope import FileScope from slither.slithir.variables.state_variable import StateIRVariable - from slither.core.declarations.function_contract import FunctionContract LOGGER = logging.getLogger("Function") ReacheableNode = namedtuple("ReacheableNode", ["node", "ir"]) @@ -298,7 +297,7 @@ class Function(SourceMapping, metaclass=ABCMeta): # pylint: disable=too-many-pu def contains_assembly(self, c: bool): self._contains_assembly = c - def can_reenter(self, callstack: Optional[List["FunctionContract"]] = None) -> bool: + def can_reenter(self, callstack: Optional[List[Union["Function", "Variable"]]] = None) -> bool: """ Check if the function can re-enter Follow internal calls. @@ -1720,8 +1719,8 @@ class Function(SourceMapping, metaclass=ABCMeta): # pylint: disable=too-many-pu def fix_phi( self, - last_state_variables_instances: Dict[str, List["StateIRVariable"]], - initial_state_variables_instances: Dict[str, "StateIRVariable"], + last_state_variables_instances: Dict[str, List["StateVariable"]], + initial_state_variables_instances: Dict[str, "StateVariable"], ) -> None: from slither.slithir.operations import InternalCall, PhiCallback from slither.slithir.variables import Constant, StateIRVariable diff --git a/slither/core/declarations/function_contract.py b/slither/core/declarations/function_contract.py index 01077353b..8f68ab7b6 100644 --- a/slither/core/declarations/function_contract.py +++ b/slither/core/declarations/function_contract.py @@ -1,10 +1,9 @@ """ Function module """ -from typing import Dict, TYPE_CHECKING, List, Tuple +from typing import Dict, TYPE_CHECKING, List, Tuple, Optional -from slither.core.children.child_contract import ChildContract -from slither.core.children.child_inheritance import ChildInheritance +from slither.core.declarations.contract_level import ContractLevel from slither.core.declarations import Function from slither.utils.code_complexity import compute_cyclomatic_complexity @@ -15,9 +14,31 @@ if TYPE_CHECKING: from slither.core.declarations import Contract from slither.core.scope.scope import FileScope from slither.slithir.variables.state_variable import StateIRVariable + from slither.core.compilation_unit import SlitherCompilationUnit -class FunctionContract(Function, ChildContract, ChildInheritance): +class FunctionContract(Function, ContractLevel): + def __init__(self, compilation_unit: "SlitherCompilationUnit") -> None: + super().__init__(compilation_unit) + self._contract_declarer: Optional["Contract"] = None + + def set_contract_declarer(self, contract: "Contract") -> None: + self._contract_declarer = contract + + @property + def contract_declarer(self) -> "Contract": + """ + Return the contract where this function was declared. Only functions have both a contract, and contract_declarer + This is because we need to have separate representation of the function depending of the contract's context + For example a function calling super.f() will generate different IR depending on the current contract's inheritance + + Returns: + The contract where this function was declared + """ + + assert self._contract_declarer + return self._contract_declarer + @property def canonical_name(self) -> str: """ diff --git a/slither/core/declarations/solidity_variables.py b/slither/core/declarations/solidity_variables.py index 9569cde93..f0e903d7b 100644 --- a/slither/core/declarations/solidity_variables.py +++ b/slither/core/declarations/solidity_variables.py @@ -82,7 +82,7 @@ SOLIDITY_FUNCTIONS: Dict[str, List[str]] = { } -def solidity_function_signature(name): +def solidity_function_signature(name: str) -> str: """ Return the function signature (containing the return value) It is useful if a solidity function is used as a pointer @@ -106,7 +106,7 @@ class SolidityVariable(SourceMapping): assert name in SOLIDITY_VARIABLES or name.endswith(("_slot", "_offset")) @property - def state_variable(self): + def state_variable(self) -> str: if self._name.endswith("_slot"): return self._name[:-5] if self._name.endswith("_offset"): @@ -125,7 +125,7 @@ class SolidityVariable(SourceMapping): def __str__(self) -> str: return self._name - def __eq__(self, other: SourceMapping) -> bool: + def __eq__(self, other: Any) -> bool: return self.__class__ == other.__class__ and self.name == other.name def __hash__(self) -> int: @@ -182,13 +182,13 @@ class SolidityFunction(SourceMapping): return self._return_type @return_type.setter - def return_type(self, r: List[Union[TypeInformation, ElementaryType]]): + def return_type(self, r: List[Union[TypeInformation, ElementaryType]]) -> None: self._return_type = r def __str__(self) -> str: return self._name - def __eq__(self, other: "SolidityFunction") -> bool: + def __eq__(self, other: Any) -> bool: return self.__class__ == other.__class__ and self.name == other.name def __hash__(self) -> int: @@ -201,7 +201,7 @@ class SolidityCustomRevert(SolidityFunction): self._custom_error = custom_error self._return_type: List[Union[TypeInformation, ElementaryType]] = [] - def __eq__(self, other: Union["SolidityCustomRevert", SolidityFunction]) -> bool: + def __eq__(self, other: Any) -> bool: return ( self.__class__ == other.__class__ and self.name == other.name diff --git a/slither/core/declarations/structure_contract.py b/slither/core/declarations/structure_contract.py index aaf660e1e..c9d05ce4e 100644 --- a/slither/core/declarations/structure_contract.py +++ b/slither/core/declarations/structure_contract.py @@ -1,8 +1,8 @@ -from slither.core.children.child_contract import ChildContract +from slither.core.declarations.contract_level import ContractLevel from slither.core.declarations import Structure -class StructureContract(Structure, ChildContract): +class StructureContract(Structure, ContractLevel): def is_declared_by(self, contract): """ Check if the element is declared by the contract diff --git a/slither/core/declarations/top_level.py b/slither/core/declarations/top_level.py index 15facf2f9..01e6f6dfd 100644 --- a/slither/core/declarations/top_level.py +++ b/slither/core/declarations/top_level.py @@ -2,4 +2,8 @@ from slither.core.source_mapping.source_mapping import SourceMapping class TopLevel(SourceMapping): - pass + """ + This class is used to represent objects that are at the top level + The opposite is ContractLevel + + """ diff --git a/slither/core/declarations/using_for_top_level.py b/slither/core/declarations/using_for_top_level.py index 27d1f90e4..edf846a5b 100644 --- a/slither/core/declarations/using_for_top_level.py +++ b/slither/core/declarations/using_for_top_level.py @@ -1,5 +1,6 @@ from typing import TYPE_CHECKING, List, Dict, Union +from slither.core.declarations.contract import USING_FOR_KEY, USING_FOR_ITEM from slither.core.solidity_types.type import Type from slither.core.declarations.top_level import TopLevel @@ -14,5 +15,5 @@ class UsingForTopLevel(TopLevel): self.file_scope: "FileScope" = scope @property - def using_for(self) -> Dict[Union[str, Type], List[Type]]: + def using_for(self) -> Dict[USING_FOR_KEY, USING_FOR_ITEM]: return self._using_for diff --git a/slither/core/dominators/utils.py b/slither/core/dominators/utils.py index ca5c51282..4dd55749d 100644 --- a/slither/core/dominators/utils.py +++ b/slither/core/dominators/utils.py @@ -95,4 +95,5 @@ def compute_dominance_frontier(nodes: List["Node"]) -> None: runner.dominance_frontier = runner.dominance_frontier.union({node}) while runner != node.immediate_dominator: runner.dominance_frontier = runner.dominance_frontier.union({node}) + assert runner.immediate_dominator runner = runner.immediate_dominator diff --git a/slither/core/expressions/assignment_operation.py b/slither/core/expressions/assignment_operation.py index 22aba57fb..3f08aefd7 100644 --- a/slither/core/expressions/assignment_operation.py +++ b/slither/core/expressions/assignment_operation.py @@ -2,7 +2,6 @@ import logging from enum import Enum from typing import Optional, TYPE_CHECKING, List -from slither.core.expressions.expression_typed import ExpressionTyped from slither.core.expressions.expression import Expression from slither.core.exceptions import SlitherCoreError @@ -78,7 +77,7 @@ class AssignmentOperationType(Enum): raise SlitherCoreError(f"str: Unknown operation type {self})") -class AssignmentOperation(ExpressionTyped): +class AssignmentOperation(Expression): def __init__( self, left_expression: Expression, @@ -91,7 +90,7 @@ class AssignmentOperation(ExpressionTyped): super().__init__() left_expression.set_lvalue() self._expressions = [left_expression, right_expression] - self._type: Optional["AssignmentOperationType"] = expression_type + self._type: AssignmentOperationType = expression_type self._expression_return_type: Optional["Type"] = expression_return_type @property diff --git a/slither/core/expressions/binary_operation.py b/slither/core/expressions/binary_operation.py index a3d435075..a395d07cf 100644 --- a/slither/core/expressions/binary_operation.py +++ b/slither/core/expressions/binary_operation.py @@ -2,7 +2,6 @@ import logging from enum import Enum from typing import List -from slither.core.expressions.expression_typed import ExpressionTyped from slither.core.expressions.expression import Expression from slither.core.exceptions import SlitherCoreError @@ -148,7 +147,7 @@ class BinaryOperationType(Enum): raise SlitherCoreError(f"str: Unknown operation type {self})") -class BinaryOperation(ExpressionTyped): +class BinaryOperation(Expression): def __init__( self, left_expression: Expression, diff --git a/slither/core/expressions/call_expression.py b/slither/core/expressions/call_expression.py index 1dbc4074a..6708dda7e 100644 --- a/slither/core/expressions/call_expression.py +++ b/slither/core/expressions/call_expression.py @@ -22,7 +22,7 @@ class CallExpression(Expression): # pylint: disable=too-many-instance-attribute return self._value @call_value.setter - def call_value(self, v): + def call_value(self, v: Optional[Expression]) -> None: self._value = v @property @@ -30,15 +30,15 @@ class CallExpression(Expression): # pylint: disable=too-many-instance-attribute return self._gas @call_gas.setter - def call_gas(self, gas): + def call_gas(self, gas: Optional[Expression]) -> None: self._gas = gas @property - def call_salt(self): + def call_salt(self) -> Optional[Expression]: return self._salt @call_salt.setter - def call_salt(self, salt): + def call_salt(self, salt: Optional[Expression]) -> None: self._salt = salt @property diff --git a/slither/core/expressions/conditional_expression.py b/slither/core/expressions/conditional_expression.py index 818425ba1..3c0afdb4a 100644 --- a/slither/core/expressions/conditional_expression.py +++ b/slither/core/expressions/conditional_expression.py @@ -42,7 +42,7 @@ class ConditionalExpression(Expression): def then_expression(self) -> Expression: return self._then_expression - def __str__(self): + def __str__(self) -> str: return ( "if " + str(self._if_expression) diff --git a/slither/core/expressions/expression_typed.py b/slither/core/expressions/expression_typed.py deleted file mode 100644 index 2bf3fe39d..000000000 --- a/slither/core/expressions/expression_typed.py +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Optional, TYPE_CHECKING - -from slither.core.expressions.expression import Expression - -if TYPE_CHECKING: - from slither.core.solidity_types.type import Type - - -class ExpressionTyped(Expression): # pylint: disable=too-few-public-methods - def __init__(self) -> None: - super().__init__() - self._type: Optional["Type"] = None - - @property - def type(self) -> Optional["Type"]: - return self._type - - @type.setter - def type(self, new_type: "Type"): - self._type = new_type diff --git a/slither/core/expressions/identifier.py b/slither/core/expressions/identifier.py index 0b10c5615..8ffabad89 100644 --- a/slither/core/expressions/identifier.py +++ b/slither/core/expressions/identifier.py @@ -1,18 +1,80 @@ -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Optional, Union + +from slither.core.declarations.contract_level import ContractLevel +from slither.core.declarations.top_level import TopLevel +from slither.core.expressions.expression import Expression +from slither.core.variables.variable import Variable -from slither.core.expressions.expression_typed import ExpressionTyped if TYPE_CHECKING: - from slither.core.variables.variable import Variable + from slither.core.solidity_types.type import Type + from slither.core.declarations import Contract, SolidityVariable, SolidityFunction + from slither.solc_parsing.yul.evm_functions import YulBuiltin -class Identifier(ExpressionTyped): - def __init__(self, value) -> None: +class Identifier(Expression): + def __init__( + self, + value: Union[ + Variable, + "TopLevel", + "ContractLevel", + "Contract", + "SolidityVariable", + "SolidityFunction", + "YulBuiltin", + ], + ) -> None: super().__init__() - self._value: "Variable" = value + + # pylint: disable=import-outside-toplevel + from slither.core.declarations import Contract, SolidityVariable, SolidityFunction + from slither.solc_parsing.yul.evm_functions import YulBuiltin + + assert isinstance( + value, + ( + Variable, + TopLevel, + ContractLevel, + Contract, + SolidityVariable, + SolidityFunction, + YulBuiltin, + ), + ) + + self._value: Union[ + Variable, + "TopLevel", + "ContractLevel", + "Contract", + "SolidityVariable", + "SolidityFunction", + "YulBuiltin", + ] = value + self._type: Optional["Type"] = None + + @property + def type(self) -> Optional["Type"]: + return self._type + + @type.setter + def type(self, new_type: "Type") -> None: + self._type = new_type @property - def value(self) -> "Variable": + def value( + self, + ) -> Union[ + Variable, + "TopLevel", + "ContractLevel", + "Contract", + "SolidityVariable", + "SolidityFunction", + "YulBuiltin", + ]: return self._value def __str__(self) -> str: diff --git a/slither/core/expressions/index_access.py b/slither/core/expressions/index_access.py index 4f96a56d6..22f014242 100644 --- a/slither/core/expressions/index_access.py +++ b/slither/core/expressions/index_access.py @@ -1,27 +1,18 @@ -from typing import Union, List, TYPE_CHECKING +from typing import Union, List -from slither.core.expressions.expression_typed import ExpressionTyped +from slither.core.expressions.expression import Expression from slither.core.expressions.identifier import Identifier from slither.core.expressions.literal import Literal -if TYPE_CHECKING: - from slither.core.expressions.expression import Expression - from slither.core.solidity_types.type import Type - - -class IndexAccess(ExpressionTyped): +class IndexAccess(Expression): def __init__( self, left_expression: Union["IndexAccess", Identifier], right_expression: Union[Literal, Identifier], - index_type: str, ) -> None: super().__init__() self._expressions = [left_expression, right_expression] - # TODO type of undexAccess is not always a Type - # assert isinstance(index_type, Type) - self._type: "Type" = index_type @property def expressions(self) -> List["Expression"]: @@ -35,9 +26,5 @@ class IndexAccess(ExpressionTyped): def expression_right(self) -> "Expression": return self._expressions[1] - @property - def type(self) -> "Type": - return self._type - def __str__(self) -> str: return str(self.expression_left) + "[" + str(self.expression_right) + "]" diff --git a/slither/core/expressions/literal.py b/slither/core/expressions/literal.py index 5dace3c41..8848ce966 100644 --- a/slither/core/expressions/literal.py +++ b/slither/core/expressions/literal.py @@ -1,4 +1,4 @@ -from typing import Optional, Union, TYPE_CHECKING +from typing import Optional, Union, TYPE_CHECKING, Any from slither.core.expressions.expression import Expression from slither.core.solidity_types.elementary_type import Fixed, Int, Ufixed, Uint @@ -47,7 +47,7 @@ class Literal(Expression): # be sure to handle any character return str(self._value) - def __eq__(self, other) -> bool: + def __eq__(self, other: Any) -> bool: if not isinstance(other, Literal): return False return (self.value, self.subdenomination) == (other.value, other.subdenomination) diff --git a/slither/core/expressions/member_access.py b/slither/core/expressions/member_access.py index 36d6818b2..e24024318 100644 --- a/slither/core/expressions/member_access.py +++ b/slither/core/expressions/member_access.py @@ -1,10 +1,9 @@ from slither.core.expressions.expression import Expression -from slither.core.expressions.expression_typed import ExpressionTyped from slither.core.solidity_types.type import Type -class MemberAccess(ExpressionTyped): +class MemberAccess(Expression): def __init__(self, member_name: str, member_type: str, expression: Expression) -> None: # assert isinstance(member_type, Type) # TODO member_type is not always a Type diff --git a/slither/core/expressions/type_conversion.py b/slither/core/expressions/type_conversion.py index b9cd6879e..2acc8bd52 100644 --- a/slither/core/expressions/type_conversion.py +++ b/slither/core/expressions/type_conversion.py @@ -1,6 +1,5 @@ from typing import Union, TYPE_CHECKING -from slither.core.expressions.expression_typed import ExpressionTyped from slither.core.expressions.expression import Expression from slither.core.solidity_types.type import Type @@ -14,7 +13,7 @@ if TYPE_CHECKING: from slither.core.solidity_types.user_defined_type import UserDefinedType -class TypeConversion(ExpressionTyped): +class TypeConversion(Expression): def __init__( self, expression: Union[ @@ -28,6 +27,14 @@ class TypeConversion(ExpressionTyped): self._expression: Expression = expression self._type: Type = expression_type + @property + def type(self) -> Type: + return self._type + + @type.setter + def type(self, new_type: Type) -> None: + self._type = new_type + @property def expression(self) -> Expression: return self._expression diff --git a/slither/core/expressions/unary_operation.py b/slither/core/expressions/unary_operation.py index a04c57591..657224927 100644 --- a/slither/core/expressions/unary_operation.py +++ b/slither/core/expressions/unary_operation.py @@ -2,7 +2,6 @@ import logging from typing import Union from enum import Enum -from slither.core.expressions.expression_typed import ExpressionTyped from slither.core.expressions.expression import Expression from slither.core.exceptions import SlitherCoreError from slither.core.expressions.identifier import Identifier @@ -91,7 +90,7 @@ class UnaryOperationType(Enum): raise SlitherCoreError(f"is_prefix: Unknown operation type {operation_type}") -class UnaryOperation(ExpressionTyped): +class UnaryOperation(Expression): def __init__( self, expression: Union[Literal, Identifier, IndexAccess, TupleExpression], diff --git a/slither/core/slither_core.py b/slither/core/slither_core.py index e5f4e830a..798008707 100644 --- a/slither/core/slither_core.py +++ b/slither/core/slither_core.py @@ -13,7 +13,7 @@ from typing import Optional, Dict, List, Set, Union, Tuple from crytic_compile import CryticCompile from crytic_compile.utils.naming import Filename -from slither.core.children.child_contract import ChildContract +from slither.core.declarations.contract_level import ContractLevel from slither.core.compilation_unit import SlitherCompilationUnit from slither.core.context.context import Context from slither.core.declarations import Contract, FunctionContract @@ -206,7 +206,7 @@ class SlitherCore(Context): isinstance(thing, FunctionContract) and thing.contract_declarer == thing.contract ) - or (isinstance(thing, ChildContract) and not isinstance(thing, FunctionContract)) + or (isinstance(thing, ContractLevel) and not isinstance(thing, FunctionContract)) ): self._offset_to_objects[definition.filename][offset].add(thing) @@ -224,7 +224,7 @@ class SlitherCore(Context): and thing.contract_declarer == thing.contract ) or ( - isinstance(thing, ChildContract) and not isinstance(thing, FunctionContract) + isinstance(thing, ContractLevel) and not isinstance(thing, FunctionContract) ) ): self._offset_to_objects[definition.filename][offset].add(thing) @@ -482,8 +482,8 @@ class SlitherCore(Context): ################################################################################### @property - def crytic_compile(self) -> Optional[CryticCompile]: - return self._crytic_compile + def crytic_compile(self) -> CryticCompile: + return self._crytic_compile # type: ignore # endregion ################################################################################### diff --git a/slither/core/solidity_types/array_type.py b/slither/core/solidity_types/array_type.py index 9a0b12c00..9dfd3cf17 100644 --- a/slither/core/solidity_types/array_type.py +++ b/slither/core/solidity_types/array_type.py @@ -1,38 +1,37 @@ from typing import Union, Optional, Tuple, Any, TYPE_CHECKING from slither.core.expressions.expression import Expression +from slither.core.expressions.literal import Literal +from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.solidity_types.type import Type from slither.visitors.expression.constants_folding import ConstantFolding -from slither.core.expressions.literal import Literal if TYPE_CHECKING: from slither.core.expressions.binary_operation import BinaryOperation from slither.core.expressions.identifier import Identifier - from slither.core.solidity_types.elementary_type import ElementaryType - from slither.core.solidity_types.function_type import FunctionType - from slither.core.solidity_types.type_alias import TypeAliasTopLevel class ArrayType(Type): def __init__( self, - t: Union["TypeAliasTopLevel", "ArrayType", "FunctionType", "ElementaryType"], + t: Type, length: Optional[Union["Identifier", Literal, "BinaryOperation", int]], ) -> None: assert isinstance(t, Type) if length: if isinstance(length, int): - length = Literal(length, "uint256") - assert isinstance(length, Expression) + length = Literal(length, ElementaryType("uint256")) + super().__init__() self._type: Type = t + assert length is None or isinstance(length, Expression) self._length: Optional[Expression] = length if length: if not isinstance(length, Literal): cf = ConstantFolding(length, "uint256") length = cf.result() - self._length_value = length + self._length_value: Optional[Literal] = length else: self._length_value = None diff --git a/slither/core/solidity_types/elementary_type.py b/slither/core/solidity_types/elementary_type.py index ec2b0ef04..a9f45c8d8 100644 --- a/slither/core/solidity_types/elementary_type.py +++ b/slither/core/solidity_types/elementary_type.py @@ -1,5 +1,5 @@ import itertools -from typing import Tuple +from typing import Tuple, Optional, Any from slither.core.solidity_types.type import Type @@ -176,7 +176,7 @@ class ElementaryType(Type): return self.type @property - def size(self) -> int: + def size(self) -> Optional[int]: """ Return the size in bits Return None if the size is not known @@ -219,7 +219,7 @@ class ElementaryType(Type): def __str__(self) -> str: return self._type - def __eq__(self, other) -> bool: + def __eq__(self, other: Any) -> bool: if not isinstance(other, ElementaryType): return False return self.type == other.type diff --git a/slither/core/solidity_types/mapping_type.py b/slither/core/solidity_types/mapping_type.py index a8acb4d9c..9741569ed 100644 --- a/slither/core/solidity_types/mapping_type.py +++ b/slither/core/solidity_types/mapping_type.py @@ -1,4 +1,4 @@ -from typing import Union, Tuple, TYPE_CHECKING +from typing import Union, Tuple, TYPE_CHECKING, Any from slither.core.solidity_types.type import Type @@ -38,7 +38,7 @@ class MappingType(Type): def __str__(self) -> str: return f"mapping({str(self._from)} => {str(self._to)})" - def __eq__(self, other): + def __eq__(self, other: Any) -> bool: if not isinstance(other, MappingType): return False return self.type_from == other.type_from and self.type_to == other.type_to diff --git a/slither/core/solidity_types/type_alias.py b/slither/core/solidity_types/type_alias.py index 5b9ea0a37..9387f511a 100644 --- a/slither/core/solidity_types/type_alias.py +++ b/slither/core/solidity_types/type_alias.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Tuple -from slither.core.children.child_contract import ChildContract from slither.core.declarations.top_level import TopLevel +from slither.core.declarations.contract_level import ContractLevel from slither.core.solidity_types import Type, ElementaryType if TYPE_CHECKING: @@ -40,7 +40,7 @@ class TypeAlias(Type): class TypeAliasTopLevel(TypeAlias, TopLevel): - def __init__(self, underlying_type: Type, name: str, scope: "FileScope") -> None: + def __init__(self, underlying_type: ElementaryType, name: str, scope: "FileScope") -> None: super().__init__(underlying_type, name) self.file_scope: "FileScope" = scope @@ -48,8 +48,8 @@ class TypeAliasTopLevel(TypeAlias, TopLevel): return self.name -class TypeAliasContract(TypeAlias, ChildContract): - def __init__(self, underlying_type: Type, name: str, contract: "Contract") -> None: +class TypeAliasContract(TypeAlias, ContractLevel): + def __init__(self, underlying_type: ElementaryType, name: str, contract: "Contract") -> None: super().__init__(underlying_type, name) self._contract: "Contract" = contract diff --git a/slither/core/solidity_types/type_information.py b/slither/core/solidity_types/type_information.py index 2af0b097a..9cef9352c 100644 --- a/slither/core/solidity_types/type_information.py +++ b/slither/core/solidity_types/type_information.py @@ -1,4 +1,4 @@ -from typing import Union, TYPE_CHECKING, Tuple +from typing import Union, TYPE_CHECKING, Tuple, Any from slither.core.solidity_types import ElementaryType from slither.core.solidity_types.type import Type @@ -40,10 +40,10 @@ class TypeInformation(Type): def is_dynamic(self) -> bool: raise NotImplementedError - def __str__(self): + def __str__(self) -> str: return f"type({self.type.name})" - def __eq__(self, other): + def __eq__(self, other: Any) -> bool: if not isinstance(other, TypeInformation): return False return self.type == other.type diff --git a/slither/core/source_mapping/source_mapping.py b/slither/core/source_mapping/source_mapping.py index e58b04c21..fceab7855 100644 --- a/slither/core/source_mapping/source_mapping.py +++ b/slither/core/source_mapping/source_mapping.py @@ -1,6 +1,6 @@ import re from abc import ABCMeta -from typing import Dict, Union, List, Tuple, TYPE_CHECKING, Optional +from typing import Dict, Union, List, Tuple, TYPE_CHECKING, Optional, Any from Crypto.Hash import SHA1 from crytic_compile.utils.naming import Filename @@ -98,10 +98,10 @@ class Source: filename_short: str = self.filename.short if self.filename.short else "" return f"{filename_short}{lines}" - def __hash__(self): + def __hash__(self) -> int: return hash(str(self)) - def __eq__(self, other): + def __eq__(self, other: Any) -> bool: if not isinstance(other, type(self)): return NotImplemented return ( diff --git a/slither/core/variables/event_variable.py b/slither/core/variables/event_variable.py index f3ad60d0b..3b6b6c511 100644 --- a/slither/core/variables/event_variable.py +++ b/slither/core/variables/event_variable.py @@ -1,8 +1,7 @@ from slither.core.variables.variable import Variable -from slither.core.children.child_event import ChildEvent -class EventVariable(ChildEvent, Variable): +class EventVariable(Variable): def __init__(self) -> None: super().__init__() self._indexed = False @@ -16,5 +15,5 @@ class EventVariable(ChildEvent, Variable): return self._indexed @indexed.setter - def indexed(self, is_indexed: bool): + def indexed(self, is_indexed: bool) -> None: self._indexed = is_indexed diff --git a/slither/core/variables/local_variable.py b/slither/core/variables/local_variable.py index 7b7b4f8bc..427f00408 100644 --- a/slither/core/variables/local_variable.py +++ b/slither/core/variables/local_variable.py @@ -1,7 +1,6 @@ -from typing import Optional +from typing import Optional, TYPE_CHECKING from slither.core.variables.variable import Variable -from slither.core.children.child_function import ChildFunction from slither.core.solidity_types.user_defined_type import UserDefinedType from slither.core.solidity_types.array_type import ArrayType from slither.core.solidity_types.mapping_type import MappingType @@ -9,11 +8,23 @@ from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.declarations.structure import Structure +if TYPE_CHECKING: # type: ignore + from slither.core.declarations import Function -class LocalVariable(ChildFunction, Variable): + +class LocalVariable(Variable): def __init__(self) -> None: super().__init__() self._location: Optional[str] = None + self._function: Optional["Function"] = None + + def set_function(self, function: "Function") -> None: + self._function = function + + @property + def function(self) -> "Function": + assert self._function + return self._function def set_location(self, loc: str) -> None: self._location = loc @@ -42,6 +53,8 @@ class LocalVariable(ChildFunction, Variable): """ if self.location == "memory": return False + if self.location == "calldata": + return False # Use by slithIR SSA if self.location == "reference_to_storage": return False diff --git a/slither/core/variables/state_variable.py b/slither/core/variables/state_variable.py index 47b7682a4..f2a2d6ee3 100644 --- a/slither/core/variables/state_variable.py +++ b/slither/core/variables/state_variable.py @@ -1,6 +1,6 @@ from typing import Optional, TYPE_CHECKING -from slither.core.children.child_contract import ChildContract +from slither.core.declarations.contract_level import ContractLevel from slither.core.variables.variable import Variable if TYPE_CHECKING: @@ -8,7 +8,7 @@ if TYPE_CHECKING: from slither.core.declarations import Contract -class StateVariable(ChildContract, Variable): +class StateVariable(ContractLevel, Variable): def __init__(self) -> None: super().__init__() self._node_initialization: Optional["Node"] = None diff --git a/slither/core/variables/structure_variable.py b/slither/core/variables/structure_variable.py index c6034da63..3a001b6a9 100644 --- a/slither/core/variables/structure_variable.py +++ b/slither/core/variables/structure_variable.py @@ -1,6 +1,19 @@ +from typing import TYPE_CHECKING, Optional from slither.core.variables.variable import Variable -from slither.core.children.child_structure import ChildStructure -class StructureVariable(ChildStructure, Variable): - pass +if TYPE_CHECKING: + from slither.core.declarations import Structure + + +class StructureVariable(Variable): + def __init__(self) -> None: + super().__init__() + self._structure: Optional["Structure"] = None + + def set_structure(self, structure: "Structure") -> None: + self._structure = structure + + @property + def structure(self) -> "Structure": + return self._structure diff --git a/slither/core/variables/variable.py b/slither/core/variables/variable.py index 8607a8921..2b777e672 100644 --- a/slither/core/variables/variable.py +++ b/slither/core/variables/variable.py @@ -55,7 +55,7 @@ class Variable(SourceMapping): return self._initialized @initialized.setter - def initialized(self, is_init: bool): + def initialized(self, is_init: bool) -> None: self._initialized = is_init @property @@ -73,23 +73,24 @@ class Variable(SourceMapping): return self._name @name.setter - def name(self, name): + def name(self, name: str) -> None: self._name = name @property - def type(self) -> Optional[Union[Type, List[Type]]]: + def type(self) -> Optional[Type]: return self._type @type.setter - def type(self, types: Union[Type, List[Type]]): - self._type = types + def type(self, new_type: Type) -> None: + assert isinstance(new_type, Type) + self._type = new_type @property def is_constant(self) -> bool: return self._is_constant @is_constant.setter - def is_constant(self, is_cst: bool): + def is_constant(self, is_cst: bool) -> None: self._is_constant = is_cst @property @@ -159,8 +160,8 @@ class Variable(SourceMapping): return ( self.name, - [str(x) for x in export_nested_types_from_variable(self)], - [str(x) for x in export_return_type_from_variable(self)], + [str(x) for x in export_nested_types_from_variable(self)], # type: ignore + [str(x) for x in export_return_type_from_variable(self)], # type: ignore ) @property @@ -178,4 +179,5 @@ class Variable(SourceMapping): return f'{name}({",".join(parameters)})' def __str__(self) -> str: + assert self._name return self._name diff --git a/slither/detectors/abstract_detector.py b/slither/detectors/abstract_detector.py index 8e2dd490d..7bb8eb93f 100644 --- a/slither/detectors/abstract_detector.py +++ b/slither/detectors/abstract_detector.py @@ -59,6 +59,8 @@ ALL_SOLC_VERSIONS_06 = make_solc_versions(6, 0, 12) ALL_SOLC_VERSIONS_07 = make_solc_versions(7, 0, 6) # No VERSIONS_08 as it is still in dev +DETECTOR_INFO = List[Union[str, SupportedOutput]] + class AbstractDetector(metaclass=abc.ABCMeta): ARGUMENT = "" # run the detector with slither.py --ARGUMENT @@ -251,7 +253,7 @@ class AbstractDetector(metaclass=abc.ABCMeta): def generate_result( self, - info: Union[str, List[Union[str, SupportedOutput]]], + info: DETECTOR_INFO, additional_fields: Optional[Dict] = None, ) -> Output: output = Output( diff --git a/slither/detectors/assembly/shift_parameter_mixup.py b/slither/detectors/assembly/shift_parameter_mixup.py index 31dad2371..a4169499a 100644 --- a/slither/detectors/assembly/shift_parameter_mixup.py +++ b/slither/detectors/assembly/shift_parameter_mixup.py @@ -1,5 +1,9 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Binary, BinaryType from slither.slithir.variables import Constant from slither.core.declarations.function_contract import FunctionContract @@ -49,7 +53,12 @@ The shift statement will right-shift the constant 8 by `a` bits""" BinaryType.RIGHT_SHIFT, ]: if isinstance(ir.variable_left, Constant): - info = [f, " contains an incorrect shift operation: ", node, "\n"] + info: DETECTOR_INFO = [ + f, + " contains an incorrect shift operation: ", + node, + "\n", + ] json = self.generate_result(info) results.append(json) diff --git a/slither/detectors/attributes/const_functions_asm.py b/slither/detectors/attributes/const_functions_asm.py index e3a938361..01798e085 100644 --- a/slither/detectors/attributes/const_functions_asm.py +++ b/slither/detectors/attributes/const_functions_asm.py @@ -2,11 +2,14 @@ Module detecting constant functions Recursively check the called functions """ -from typing import List +from typing import List, Dict + +from slither.core.compilation_unit import SlitherCompilationUnit from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, ALL_SOLC_VERSIONS_04, + DETECTOR_INFO, ) from slither.formatters.attributes.const_functions import custom_format from slither.utils.output import Output @@ -73,7 +76,10 @@ All the calls to `get` revert, breaking Bob's smart contract execution.""" if f.contains_assembly: attr = "view" if f.view else "pure" - info = [f, f" is declared {attr} but contains assembly code\n"] + info: DETECTOR_INFO = [ + f, + f" is declared {attr} but contains assembly code\n", + ] res = self.generate_result(info, {"contains_assembly": True}) results.append(res) @@ -81,5 +87,5 @@ All the calls to `get` revert, breaking Bob's smart contract execution.""" return results @staticmethod - def _format(comilation_unit, result): + def _format(comilation_unit: SlitherCompilationUnit, result: Dict) -> None: custom_format(comilation_unit, result) diff --git a/slither/detectors/attributes/const_functions_state.py b/slither/detectors/attributes/const_functions_state.py index 36ea8f32d..d86ca7c0e 100644 --- a/slither/detectors/attributes/const_functions_state.py +++ b/slither/detectors/attributes/const_functions_state.py @@ -2,11 +2,14 @@ Module detecting constant functions Recursively check the called functions """ -from typing import List +from typing import List, Dict + +from slither.core.compilation_unit import SlitherCompilationUnit from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, ALL_SOLC_VERSIONS_04, + DETECTOR_INFO, ) from slither.formatters.attributes.const_functions import custom_format from slither.utils.output import Output @@ -74,7 +77,7 @@ All the calls to `get` revert, breaking Bob's smart contract execution.""" if variables_written: attr = "view" if f.view else "pure" - info = [ + info: DETECTOR_INFO = [ f, f" is declared {attr} but changes state variables:\n", ] @@ -89,5 +92,5 @@ All the calls to `get` revert, breaking Bob's smart contract execution.""" return results @staticmethod - def _format(slither, result): + def _format(slither: SlitherCompilationUnit, result: Dict) -> None: custom_format(slither, result) diff --git a/slither/detectors/attributes/constant_pragma.py b/slither/detectors/attributes/constant_pragma.py index 2164a78e8..2ed76c86a 100644 --- a/slither/detectors/attributes/constant_pragma.py +++ b/slither/detectors/attributes/constant_pragma.py @@ -1,9 +1,14 @@ """ Check that the same pragma is used in all the files """ -from typing import List - -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from typing import List, Dict + +from slither.core.compilation_unit import SlitherCompilationUnit +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.formatters.attributes.constant_pragma import custom_format from slither.utils.output import Output @@ -31,7 +36,7 @@ class ConstantPragma(AbstractDetector): versions = sorted(list(set(versions))) if len(versions) > 1: - info = ["Different versions of Solidity are used:\n"] + info: DETECTOR_INFO = ["Different versions of Solidity are used:\n"] info += [f"\t- Version used: {[str(v) for v in versions]}\n"] for p in sorted(pragma, key=lambda x: x.version): @@ -44,5 +49,5 @@ class ConstantPragma(AbstractDetector): return results @staticmethod - def _format(slither, result): + def _format(slither: SlitherCompilationUnit, result: Dict) -> None: custom_format(slither, result) diff --git a/slither/detectors/attributes/incorrect_solc.py b/slither/detectors/attributes/incorrect_solc.py index fa9ffd88d..eaf40bf21 100644 --- a/slither/detectors/attributes/incorrect_solc.py +++ b/slither/detectors/attributes/incorrect_solc.py @@ -5,7 +5,11 @@ import re from typing import List, Optional, Tuple -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.formatters.attributes.incorrect_solc import custom_format from slither.utils.output import Output @@ -43,10 +47,7 @@ We also recommend avoiding complex `pragma` statement.""" # region wiki_recommendation WIKI_RECOMMENDATION = """ Deploy with any of the following Solidity versions: -- 0.5.16 - 0.5.17 -- 0.6.11 - 0.6.12 -- 0.7.5 - 0.7.6 -- 0.8.16 +- 0.8.18 The recommendations take into account: - Risks related to recent releases @@ -62,13 +63,14 @@ Consider using the latest version of Solidity for testing.""" OLD_VERSION_TXT = "allows old versions" LESS_THAN_TXT = "uses lesser than" - TOO_RECENT_VERSION_TXT = "necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.16" BUGGY_VERSION_TXT = ( "is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)" ) # Indicates the allowed versions. Must be formatted in increasing order. - ALLOWED_VERSIONS = ["0.5.16", "0.5.17", "0.6.11", "0.6.12", "0.7.5", "0.7.6", "0.8.16"] + ALLOWED_VERSIONS = ["0.8.18"] + + TOO_RECENT_VERSION_TXT = f"necessitates a version too recent to be trusted. Consider deploying with {'/'.join(ALLOWED_VERSIONS)}." # Indicates the versions that should not be used. BUGGY_VERSIONS = [ @@ -143,7 +145,7 @@ Consider using the latest version of Solidity for testing.""" # If we found any disallowed pragmas, we output our findings. if disallowed_pragmas: for (reason, p) in disallowed_pragmas: - info = ["Pragma version", p, f" {reason}\n"] + info: DETECTOR_INFO = ["Pragma version", p, f" {reason}\n"] json = self.generate_result(info) diff --git a/slither/detectors/attributes/locked_ether.py b/slither/detectors/attributes/locked_ether.py index 2fdabaea6..a6f882922 100644 --- a/slither/detectors/attributes/locked_ether.py +++ b/slither/detectors/attributes/locked_ether.py @@ -4,7 +4,11 @@ from typing import List from slither.core.declarations.contract import Contract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import ( HighLevelCall, LowLevelCall, @@ -85,7 +89,7 @@ Every Ether sent to `Locked` will be lost.""" funcs_payable = [function for function in contract.functions if function.payable] if funcs_payable: if self.do_no_send_ether(contract): - info = ["Contract locking ether found:\n"] + info: DETECTOR_INFO = ["Contract locking ether found:\n"] info += ["\tContract ", contract, " has payable functions:\n"] for function in funcs_payable: info += ["\t - ", function, "\n"] diff --git a/slither/detectors/attributes/unimplemented_interface.py b/slither/detectors/attributes/unimplemented_interface.py index ff0889d11..5c6c9c5f2 100644 --- a/slither/detectors/attributes/unimplemented_interface.py +++ b/slither/detectors/attributes/unimplemented_interface.py @@ -5,7 +5,11 @@ Collect all the interfaces Check for contracts which implement all interface functions but do not explicitly derive from those interfaces. """ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.declarations.contract import Contract from slither.utils.output import Output @@ -139,7 +143,7 @@ contract Something { continue intended_interfaces = self.detect_unimplemented_interface(contract, interfaces) for interface in intended_interfaces: - info = [contract, " should inherit from ", interface, "\n"] + info: DETECTOR_INFO = [contract, " should inherit from ", interface, "\n"] res = self.generate_result(info) results.append(res) return results diff --git a/slither/detectors/compiler_bugs/array_by_reference.py b/slither/detectors/compiler_bugs/array_by_reference.py index 83ed69b9b..04dfe085a 100644 --- a/slither/detectors/compiler_bugs/array_by_reference.py +++ b/slither/detectors/compiler_bugs/array_by_reference.py @@ -2,7 +2,14 @@ Detects the passing of arrays located in memory to functions which expect to modify arrays via storage reference. """ from typing import List, Set, Tuple, Union -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification + +from slither.core.declarations import Function +from slither.core.variables import Variable +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.solidity_types.array_type import ArrayType from slither.core.variables.state_variable import StateVariable from slither.core.variables.local_variable import LocalVariable @@ -89,12 +96,7 @@ As a result, Bob's usage of the contract is incorrect.""" @staticmethod def detect_calls_passing_ref_to_function( contracts: List[Contract], array_modifying_funcs: Set[FunctionContract] - ) -> List[ - Union[ - Tuple[Node, StateVariable, FunctionContract], - Tuple[Node, LocalVariable, FunctionContract], - ] - ]: + ) -> List[Tuple[Node, Variable, Union[Function, Variable]]]: """ Obtains all calls passing storage arrays by value to a function which cannot write to them successfully. :param contracts: The collection of contracts to check for problematic calls in. @@ -105,7 +107,7 @@ As a result, Bob's usage of the contract is incorrect.""" write to the array unsuccessfully. """ # Define our resulting array. - results = [] + results: List[Tuple[Node, Variable, Union[Function, Variable]]] = [] # Verify we have functions in our list to check for. if not array_modifying_funcs: @@ -159,7 +161,7 @@ As a result, Bob's usage of the contract is incorrect.""" if problematic_calls: for calling_node, affected_argument, invoked_function in problematic_calls: - info = [ + info: DETECTOR_INFO = [ calling_node.function, " passes array ", affected_argument, diff --git a/slither/detectors/compiler_bugs/enum_conversion.py b/slither/detectors/compiler_bugs/enum_conversion.py index 671b8d699..c7f1bcf4e 100644 --- a/slither/detectors/compiler_bugs/enum_conversion.py +++ b/slither/detectors/compiler_bugs/enum_conversion.py @@ -10,6 +10,7 @@ from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, make_solc_versions, + DETECTOR_INFO, ) from slither.slithir.operations import TypeConversion from slither.core.declarations.enum import Enum @@ -73,10 +74,14 @@ Attackers can trigger unexpected behaviour by calling `bug(1)`.""" for c in self.compilation_unit.contracts: ret = _detect_dangerous_enum_conversions(c) for node, var in ret: - func_info = [node, " has a dangerous enum conversion\n"] + func_info: DETECTOR_INFO = [node, " has a dangerous enum conversion\n"] # Output each node with the function info header as a separate result. - variable_info = ["\t- Variable: ", var, f" of type: {str(var.type)}\n"] - node_info = ["\t- Enum conversion: ", node, "\n"] + variable_info: DETECTOR_INFO = [ + "\t- Variable: ", + var, + f" of type: {str(var.type)}\n", + ] + node_info: DETECTOR_INFO = ["\t- Enum conversion: ", node, "\n"] json = self.generate_result(func_info + variable_info + node_info) results.append(json) diff --git a/slither/detectors/compiler_bugs/multiple_constructor_schemes.py b/slither/detectors/compiler_bugs/multiple_constructor_schemes.py index 3486cc41b..ae325b2a6 100644 --- a/slither/detectors/compiler_bugs/multiple_constructor_schemes.py +++ b/slither/detectors/compiler_bugs/multiple_constructor_schemes.py @@ -1,6 +1,10 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -58,7 +62,10 @@ In Solidity [0.4.22](https://github.com/ethereum/solidity/releases/tag/v0.4.23), # If there is more than one, we encountered the described issue occurring. if constructors and len(constructors) > 1: - info = [contract, " contains multiple constructors in the same contract:\n"] + info: DETECTOR_INFO = [ + contract, + " contains multiple constructors in the same contract:\n", + ] for constructor in constructors: info += ["\t- ", constructor, "\n"] diff --git a/slither/detectors/compiler_bugs/reused_base_constructor.py b/slither/detectors/compiler_bugs/reused_base_constructor.py index 73cfac12e..73bd410c7 100644 --- a/slither/detectors/compiler_bugs/reused_base_constructor.py +++ b/slither/detectors/compiler_bugs/reused_base_constructor.py @@ -6,6 +6,7 @@ from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, ALL_SOLC_VERSIONS_04, + DETECTOR_INFO, ) from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract @@ -151,7 +152,7 @@ The constructor of `A` is called multiple times in `D` and `E`: continue # Generate data to output. - info = [ + info: DETECTOR_INFO = [ contract, " gives base constructor ", base_constructor, diff --git a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py index aee6361c6..dd34eb5e0 100644 --- a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py +++ b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py @@ -6,6 +6,7 @@ from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, make_solc_versions, + DETECTOR_INFO, ) from slither.core.solidity_types import ArrayType from slither.core.solidity_types import UserDefinedType @@ -122,7 +123,13 @@ contract A { for contract in self.contracts: storage_abiencoderv2_arrays = self._detect_storage_abiencoderv2_arrays(contract) for function, node in storage_abiencoderv2_arrays: - info = ["Function ", function, " trigger an abi encoding bug:\n\t- ", node, "\n"] + info: DETECTOR_INFO = [ + "Function ", + function, + " trigger an abi encoding bug:\n\t- ", + node, + "\n", + ] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/compiler_bugs/storage_signed_integer_array.py b/slither/detectors/compiler_bugs/storage_signed_integer_array.py index 736f66789..cfd13cdbc 100644 --- a/slither/detectors/compiler_bugs/storage_signed_integer_array.py +++ b/slither/detectors/compiler_bugs/storage_signed_integer_array.py @@ -1,18 +1,21 @@ """ Module detecting storage signed integer array bug """ -from typing import List +from typing import List, Tuple, Set +from slither.core.declarations import Function, Contract from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, make_solc_versions, + DETECTOR_INFO, ) -from slither.core.cfg.node import NodeType +from slither.core.cfg.node import NodeType, Node from slither.core.solidity_types import ArrayType from slither.core.solidity_types.elementary_type import Int, ElementaryType from slither.core.variables.local_variable import LocalVariable from slither.core.variables.state_variable import StateVariable +from slither.slithir.operations import Operation, OperationWithLValue from slither.slithir.operations.assignment import Assignment from slither.slithir.operations.init_array import InitArray from slither.utils.output import Output @@ -60,7 +63,7 @@ contract A { VULNERABLE_SOLC_VERSIONS = make_solc_versions(4, 7, 25) + make_solc_versions(5, 0, 9) @staticmethod - def _is_vulnerable_type(ir): + def _is_vulnerable_type(ir: Operation) -> bool: """ Detect if the IR lvalue is a vulnerable type Must be a storage allocation, and an array of Int @@ -68,23 +71,28 @@ contract A { """ # Storage allocation # Base type is signed integer + if not isinstance(ir, OperationWithLValue): + return False + return ( ( isinstance(ir.lvalue, StateVariable) or (isinstance(ir.lvalue, LocalVariable) and ir.lvalue.is_storage) ) - and isinstance(ir.lvalue.type.type, ElementaryType) - and ir.lvalue.type.type.type in Int + and isinstance(ir.lvalue.type.type, ElementaryType) # type: ignore + and ir.lvalue.type.type.type in Int # type: ignore ) - def detect_storage_signed_integer_arrays(self, contract): + def detect_storage_signed_integer_arrays( + self, contract: Contract + ) -> Set[Tuple[Function, Node]]: """ Detects and returns all nodes with storage-allocated signed integer array init/assignment :param contract: Contract to detect within :return: A list of tuples with (function, node) where function node has storage-allocated signed integer array init/assignment """ # Create our result set. - results = set() + results: Set[Tuple[Function, Node]] = set() # Loop for each function and modifier. for function in contract.functions_and_modifiers_declared: @@ -118,9 +126,13 @@ contract A { for contract in self.contracts: storage_signed_integer_arrays = self.detect_storage_signed_integer_arrays(contract) for function, node in storage_signed_integer_arrays: - contract_info = ["Contract ", contract, " \n"] - function_info = ["\t- Function ", function, "\n"] - node_info = ["\t\t- ", node, " has a storage signed integer array assignment\n"] + contract_info: DETECTOR_INFO = ["Contract ", contract, " \n"] + function_info: DETECTOR_INFO = ["\t- Function ", function, "\n"] + node_info: DETECTOR_INFO = [ + "\t\t- ", + node, + " has a storage signed integer array assignment\n", + ] res = self.generate_result(contract_info + function_info + node_info) results.append(res) diff --git a/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py b/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py index 6685948b3..826b671bd 100644 --- a/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py +++ b/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py @@ -6,6 +6,7 @@ from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, make_solc_versions, + DETECTOR_INFO, ) from slither.slithir.operations import InternalDynamicCall, OperationWithLValue from slither.slithir.variables import ReferenceVariable @@ -115,10 +116,10 @@ The call to `a(10)` will lead to unexpected behavior because function pointer `a results = [] for contract in self.compilation_unit.contracts: - contract_info = ["Contract ", contract, " \n"] + contract_info: DETECTOR_INFO = ["Contract ", contract, " \n"] nodes = self._detect_uninitialized_function_ptr_in_constructor(contract) for node in nodes: - node_info = [ + node_info: DETECTOR_INFO = [ "\t ", node, " is an unintialized function pointer call in a constructor\n", diff --git a/slither/detectors/erc/erc20/arbitrary_send_erc20.py b/slither/detectors/erc/erc20/arbitrary_send_erc20.py index 17b1fba30..f06005459 100644 --- a/slither/detectors/erc/erc20/arbitrary_send_erc20.py +++ b/slither/detectors/erc/erc20/arbitrary_send_erc20.py @@ -61,12 +61,12 @@ class ArbitrarySendErc20: is_dependent( ir.arguments[0], SolidityVariableComposed("msg.sender"), - node.function.contract, + node, ) or is_dependent( ir.arguments[0], SolidityVariable("this"), - node.function.contract, + node, ) ) ): @@ -79,12 +79,12 @@ class ArbitrarySendErc20: is_dependent( ir.arguments[1], SolidityVariableComposed("msg.sender"), - node.function.contract, + node, ) or is_dependent( ir.arguments[1], SolidityVariable("this"), - node.function.contract, + node, ) ) ): diff --git a/slither/detectors/erc/erc20/arbitrary_send_erc20_no_permit.py b/slither/detectors/erc/erc20/arbitrary_send_erc20_no_permit.py index f43b6302e..351f1dcfa 100644 --- a/slither/detectors/erc/erc20/arbitrary_send_erc20_no_permit.py +++ b/slither/detectors/erc/erc20/arbitrary_send_erc20_no_permit.py @@ -1,5 +1,9 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output from .arbitrary_send_erc20 import ArbitrarySendErc20 @@ -38,7 +42,7 @@ Use `msg.sender` as `from` in transferFrom. arbitrary_sends.detect() for node in arbitrary_sends.no_permit_results: func = node.function - info = [func, " uses arbitrary from in transferFrom: ", node, "\n"] + info: DETECTOR_INFO = [func, " uses arbitrary from in transferFrom: ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/erc/erc20/arbitrary_send_erc20_permit.py b/slither/detectors/erc/erc20/arbitrary_send_erc20_permit.py index 1d311c442..ca4c4a793 100644 --- a/slither/detectors/erc/erc20/arbitrary_send_erc20_permit.py +++ b/slither/detectors/erc/erc20/arbitrary_send_erc20_permit.py @@ -1,5 +1,9 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output from .arbitrary_send_erc20 import ArbitrarySendErc20 @@ -41,7 +45,7 @@ Ensure that the underlying ERC20 token correctly implements a permit function. arbitrary_sends.detect() for node in arbitrary_sends.permit_results: func = node.function - info = [ + info: DETECTOR_INFO = [ func, " uses arbitrary from in transferFrom in combination with permit: ", node, diff --git a/slither/detectors/erc/erc20/incorrect_erc20_interface.py b/slither/detectors/erc/erc20/incorrect_erc20_interface.py index 4da6ab5ae..a17f04e8c 100644 --- a/slither/detectors/erc/erc20/incorrect_erc20_interface.py +++ b/slither/detectors/erc/erc20/incorrect_erc20_interface.py @@ -6,7 +6,11 @@ from typing import List, Tuple from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -109,7 +113,7 @@ contract Token{ functions = IncorrectERC20InterfaceDetection.detect_incorrect_erc20_interface(c) if functions: for function in functions: - info = [ + info: DETECTOR_INFO = [ c, " has incorrect ERC20 function interface:", function, diff --git a/slither/detectors/erc/incorrect_erc721_interface.py b/slither/detectors/erc/incorrect_erc721_interface.py index 8327e8b2e..e05f3ce8e 100644 --- a/slither/detectors/erc/incorrect_erc721_interface.py +++ b/slither/detectors/erc/incorrect_erc721_interface.py @@ -2,7 +2,11 @@ Detect incorrect erc721 interface. """ from typing import Any, List, Tuple, Union -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract from slither.utils.output import Output @@ -89,7 +93,9 @@ contract Token{ return False @staticmethod - def detect_incorrect_erc721_interface(contract: Contract) -> List[Union[FunctionContract, Any]]: + def detect_incorrect_erc721_interface( + contract: Contract, + ) -> List[Union[FunctionContract, Any]]: """Detect incorrect ERC721 interface Returns: @@ -119,7 +125,7 @@ contract Token{ functions = IncorrectERC721InterfaceDetection.detect_incorrect_erc721_interface(c) if functions: for function in functions: - info = [ + info: DETECTOR_INFO = [ c, " has incorrect ERC721 function interface:", function, diff --git a/slither/detectors/examples/backdoor.py b/slither/detectors/examples/backdoor.py index 0e8e9ad81..392834641 100644 --- a/slither/detectors/examples/backdoor.py +++ b/slither/detectors/examples/backdoor.py @@ -1,6 +1,10 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -28,7 +32,7 @@ class Backdoor(AbstractDetector): for f in contract.functions: if "backdoor" in f.name: # Info to be printed - info = ["Backdoor function found in ", f, "\n"] + info: DETECTOR_INFO = ["Backdoor function found in ", f, "\n"] # Add the result in result res = self.generate_result(info) diff --git a/slither/detectors/functions/arbitrary_send_eth.py b/slither/detectors/functions/arbitrary_send_eth.py index 390b1f2ab..f6c688a3f 100644 --- a/slither/detectors/functions/arbitrary_send_eth.py +++ b/slither/detectors/functions/arbitrary_send_eth.py @@ -18,7 +18,9 @@ from slither.core.declarations.function_contract import FunctionContract from slither.core.declarations.solidity_variables import ( SolidityFunction, SolidityVariableComposed, + SolidityVariable, ) +from slither.core.variables import Variable from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification from slither.slithir.operations import ( HighLevelCall, @@ -39,6 +41,10 @@ def arbitrary_send(func: Function) -> Union[bool, List[Node]]: ret: List[Node] = [] for node in func.nodes: + func = node.function + deps_target: Union[Contract, Function] = ( + func.contract if isinstance(func, FunctionContract) else func + ) for ir in node.irs: if isinstance(ir, SolidityCall): if ir.function == SolidityFunction("ecrecover(bytes32,uint8,bytes32,bytes32)"): @@ -49,7 +55,7 @@ def arbitrary_send(func: Function) -> Union[bool, List[Node]]: if is_dependent( ir.variable_right, SolidityVariableComposed("msg.sender"), - func.contract, + deps_target, ): return False if isinstance(ir, (HighLevelCall, LowLevelCall, Transfer, Send)): @@ -64,12 +70,13 @@ def arbitrary_send(func: Function) -> Union[bool, List[Node]]: if is_dependent( ir.call_value, SolidityVariableComposed("msg.value"), - func.contract, + node, ): continue - if is_tainted(ir.destination, func.contract): - ret.append(node) + if isinstance(ir.destination, (Variable, SolidityVariable)): + if is_tainted(ir.destination, node): + ret.append(node) return ret diff --git a/slither/detectors/functions/cyclomatic_complexity.py b/slither/detectors/functions/cyclomatic_complexity.py index 53212fd4f..1151b80a0 100644 --- a/slither/detectors/functions/cyclomatic_complexity.py +++ b/slither/detectors/functions/cyclomatic_complexity.py @@ -1,7 +1,11 @@ from typing import List, Tuple from slither.core.declarations import Function -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.code_complexity import compute_cyclomatic_complexity from slither.utils.output import Output @@ -44,7 +48,7 @@ class CyclomaticComplexity(AbstractDetector): _check_for_high_cc(high_cc_functions, f) for f, cc in high_cc_functions: - info = [f, f" has a high cyclomatic complexity ({cc}).\n"] + info: DETECTOR_INFO = [f, f" has a high cyclomatic complexity ({cc}).\n"] res = self.generate_result(info) results.append(res) return results diff --git a/slither/detectors/functions/dead_code.py b/slither/detectors/functions/dead_code.py index 1a25c5776..98eb97ff7 100644 --- a/slither/detectors/functions/dead_code.py +++ b/slither/detectors/functions/dead_code.py @@ -4,7 +4,11 @@ Module detecting dead code from typing import List, Tuple from slither.core.declarations import Function, FunctionContract, Contract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -72,7 +76,7 @@ contract Contract{ # Continue if the functon is not implemented because it means the contract is abstract if not function.is_implemented: continue - info = [function, " is never used and should be removed\n"] + info: DETECTOR_INFO = [function, " is never used and should be removed\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/functions/modifier.py b/slither/detectors/functions/modifier.py index 271d8e6cb..61ec1825e 100644 --- a/slither/detectors/functions/modifier.py +++ b/slither/detectors/functions/modifier.py @@ -6,7 +6,11 @@ are in the outermost scope, they do not guarantee a revert, so a default value can still be returned. """ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.cfg.node import Node, NodeType from slither.utils.output import Output @@ -82,7 +86,11 @@ If the condition in `myModif` is false, the execution of `get()` will return 0." node = None else: # Nothing was found in the outer scope - info = ["Modifier ", mod, " does not always execute _; or revert"] + info: DETECTOR_INFO = [ + "Modifier ", + mod, + " does not always execute _; or revert", + ] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/functions/permit_domain_signature_collision.py b/slither/detectors/functions/permit_domain_signature_collision.py index de64ec52e..39543fb49 100644 --- a/slither/detectors/functions/permit_domain_signature_collision.py +++ b/slither/detectors/functions/permit_domain_signature_collision.py @@ -6,7 +6,11 @@ from typing import Union, List from slither.core.declarations import Function from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.function import get_function_id from slither.utils.output import Output @@ -63,7 +67,7 @@ contract Contract{ assert isinstance(func_or_var, StateVariable) incorrect_return_type = func_or_var.type != ElementaryType("bytes32") if hash_collision or incorrect_return_type: - info = [ + info: DETECTOR_INFO = [ "The function signature of ", func_or_var, " collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", diff --git a/slither/detectors/functions/protected_variable.py b/slither/detectors/functions/protected_variable.py index 68ed098c7..579672926 100644 --- a/slither/detectors/functions/protected_variable.py +++ b/slither/detectors/functions/protected_variable.py @@ -6,7 +6,11 @@ A suicidal contract is an unprotected function that calls selfdestruct from typing import List from slither.core.declarations import Function, Contract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -58,7 +62,7 @@ contract Buggy{ self.logger.error(f"{function_sig} not found") continue if function_protection not in function.all_internal_calls(): - info = [ + info: DETECTOR_INFO = [ function, " should have ", function_protection, diff --git a/slither/detectors/functions/suicidal.py b/slither/detectors/functions/suicidal.py index 7741da57d..1f8cb52f9 100644 --- a/slither/detectors/functions/suicidal.py +++ b/slither/detectors/functions/suicidal.py @@ -7,7 +7,11 @@ from typing import List from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -78,7 +82,7 @@ Bob calls `kill` and destructs the contract.""" functions = self.detect_suicidal(c) for func in functions: - info = [func, " allows anyone to destruct the contract\n"] + info: DETECTOR_INFO = [func, " allows anyone to destruct the contract\n"] res = self.generate_result(info) diff --git a/slither/detectors/functions/unimplemented.py b/slither/detectors/functions/unimplemented.py index 11a1fad80..27a2d94a9 100644 --- a/slither/detectors/functions/unimplemented.py +++ b/slither/detectors/functions/unimplemented.py @@ -8,7 +8,13 @@ Consider public state variables as implemented functions Do not consider fallback function or constructor """ from typing import List, Set -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification + +from slither.core.declarations import Function +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract from slither.utils.output import Output @@ -62,7 +68,7 @@ All unimplemented functions must be implemented on a contract that is meant to b def _match_state_variable(contract: Contract, f: FunctionContract) -> bool: return any(s.full_name == f.full_name for s in contract.state_variables) - def _detect_unimplemented_function(self, contract: Contract) -> Set[FunctionContract]: + def _detect_unimplemented_function(self, contract: Contract) -> Set[Function]: """ Detects any function definitions which are not implemented in the given contract. :param contract: The contract to search unimplemented functions for. @@ -77,6 +83,8 @@ All unimplemented functions must be implemented on a contract that is meant to b # fallback function and constructor. unimplemented = set() for f in contract.all_functions_called: + if not isinstance(f, Function): + continue if ( not f.is_implemented and not f.is_constructor @@ -102,7 +110,7 @@ All unimplemented functions must be implemented on a contract that is meant to b for contract in self.compilation_unit.contracts_derived: functions = self._detect_unimplemented_function(contract) if functions: - info = [contract, " does not implement functions:\n"] + info: DETECTOR_INFO = [contract, " does not implement functions:\n"] for function in sorted(functions, key=lambda x: x.full_name): info += ["\t- ", function, "\n"] diff --git a/slither/detectors/naming_convention/naming_convention.py b/slither/detectors/naming_convention/naming_convention.py index 96d3964fa..02deb719e 100644 --- a/slither/detectors/naming_convention/naming_convention.py +++ b/slither/detectors/naming_convention/naming_convention.py @@ -1,6 +1,10 @@ import re from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.formatters.naming_convention.naming_convention import custom_format from slither.utils.output import Output @@ -63,6 +67,7 @@ Solidity defines a [naming convention](https://solidity.readthedocs.io/en/v0.4.2 def _detect(self) -> List[Output]: results = [] + info: DETECTOR_INFO for contract in self.contracts: if not self.is_cap_words(contract.name): diff --git a/slither/detectors/operations/bad_prng.py b/slither/detectors/operations/bad_prng.py index d8bf28f6c..f816e96c8 100644 --- a/slither/detectors/operations/bad_prng.py +++ b/slither/detectors/operations/bad_prng.py @@ -50,14 +50,17 @@ def contains_bad_PRNG_sources(func: Function, blockhash_ret_values: List[Variabl for node in func.nodes: for ir in node.irs_ssa: if isinstance(ir, Binary) and ir.type == BinaryType.MODULO: + var_left = ir.variable_left + if not isinstance(var_left, (Variable, SolidityVariable)): + continue if is_dependent_ssa( - ir.variable_left, SolidityVariableComposed("block.timestamp"), func.contract - ) or is_dependent_ssa(ir.variable_left, SolidityVariable("now"), func.contract): + var_left, SolidityVariableComposed("block.timestamp"), node + ) or is_dependent_ssa(var_left, SolidityVariable("now"), node): ret.add(node) break for ret_val in blockhash_ret_values: - if is_dependent_ssa(ir.variable_left, ret_val, func.contract): + if is_dependent_ssa(var_left, ret_val, node): ret.add(node) break return list(ret) diff --git a/slither/detectors/operations/block_timestamp.py b/slither/detectors/operations/block_timestamp.py index b80c8c392..d5c2c8df7 100644 --- a/slither/detectors/operations/block_timestamp.py +++ b/slither/detectors/operations/block_timestamp.py @@ -6,12 +6,17 @@ from typing import List, Tuple from slither.analyses.data_dependency.data_dependency import is_dependent from slither.core.cfg.node import Node -from slither.core.declarations import Function, Contract +from slither.core.declarations import Function, Contract, FunctionContract from slither.core.declarations.solidity_variables import ( SolidityVariableComposed, SolidityVariable, ) -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.core.variables import Variable +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Binary, BinaryType from slither.utils.output import Output @@ -21,25 +26,25 @@ def _timestamp(func: Function) -> List[Node]: for node in func.nodes: if node.contains_require_or_assert(): for var in node.variables_read: - if is_dependent(var, SolidityVariableComposed("block.timestamp"), func.contract): + if is_dependent(var, SolidityVariableComposed("block.timestamp"), node): ret.add(node) - if is_dependent(var, SolidityVariable("now"), func.contract): + if is_dependent(var, SolidityVariable("now"), node): ret.add(node) for ir in node.irs: if isinstance(ir, Binary) and BinaryType.return_bool(ir.type): - for var in ir.read: - if is_dependent( - var, SolidityVariableComposed("block.timestamp"), func.contract - ): + for var_read in ir.read: + if not isinstance(var_read, (Variable, SolidityVariable)): + continue + if is_dependent(var_read, SolidityVariableComposed("block.timestamp"), node): ret.add(node) - if is_dependent(var, SolidityVariable("now"), func.contract): + if is_dependent(var_read, SolidityVariable("now"), node): ret.add(node) return sorted(list(ret), key=lambda x: x.node_id) def _detect_dangerous_timestamp( contract: Contract, -) -> List[Tuple[Function, List[Node]]]: +) -> List[Tuple[FunctionContract, List[Node]]]: """ Args: contract (Contract) @@ -48,7 +53,7 @@ def _detect_dangerous_timestamp( """ ret = [] for f in [f for f in contract.functions if f.contract_declarer == contract]: - nodes = _timestamp(f) + nodes: List[Node] = _timestamp(f) if nodes: ret.append((f, nodes)) return ret @@ -78,7 +83,7 @@ class Timestamp(AbstractDetector): dangerous_timestamp = _detect_dangerous_timestamp(c) for (func, nodes) in dangerous_timestamp: - info = [func, " uses timestamp for comparisons\n"] + info: DETECTOR_INFO = [func, " uses timestamp for comparisons\n"] info += ["\tDangerous comparisons:\n"] diff --git a/slither/detectors/operations/low_level_calls.py b/slither/detectors/operations/low_level_calls.py index 1ea91c37a..463c74875 100644 --- a/slither/detectors/operations/low_level_calls.py +++ b/slither/detectors/operations/low_level_calls.py @@ -2,7 +2,11 @@ Module detecting usage of low level calls """ from typing import List, Tuple -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall from slither.core.cfg.node import Node from slither.core.declarations.contract import Contract @@ -52,7 +56,7 @@ class LowLevelCalls(AbstractDetector): for c in self.contracts: values = self.detect_low_level_calls(c) for func, nodes in values: - info = ["Low level call in ", func, ":\n"] + info: DETECTOR_INFO = ["Low level call in ", func, ":\n"] # sort the nodes to get deterministic results nodes.sort(key=lambda x: x.node_id) diff --git a/slither/detectors/operations/missing_events_access_control.py b/slither/detectors/operations/missing_events_access_control.py index 20c229759..853eafd73 100644 --- a/slither/detectors/operations/missing_events_access_control.py +++ b/slither/detectors/operations/missing_events_access_control.py @@ -11,7 +11,11 @@ from slither.core.declarations.function_contract import FunctionContract from slither.core.declarations.modifier import Modifier from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations.event_call import EventCall from slither.utils.output import Output @@ -100,7 +104,7 @@ contract C { for contract in self.compilation_unit.contracts_derived: missing_events = self._detect_missing_events(contract) for (function, nodes) in missing_events: - info = [function, " should emit an event for: \n"] + info: DETECTOR_INFO = [function, " should emit an event for: \n"] for (node, _sv, _mod) in nodes: info += ["\t- ", node, " \n"] res = self.generate_result(info) diff --git a/slither/detectors/operations/missing_events_arithmetic.py b/slither/detectors/operations/missing_events_arithmetic.py index 6e1d5fbb5..c17ed32a3 100644 --- a/slither/detectors/operations/missing_events_arithmetic.py +++ b/slither/detectors/operations/missing_events_arithmetic.py @@ -10,7 +10,11 @@ from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract from slither.core.solidity_types.elementary_type import ElementaryType, Int, Uint from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations.event_call import EventCall from slither.utils.output import Output @@ -122,7 +126,7 @@ contract C { for contract in self.compilation_unit.contracts_derived: missing_events = self._detect_missing_events(contract) for (function, nodes) in missing_events: - info = [function, " should emit an event for: \n"] + info: DETECTOR_INFO = [function, " should emit an event for: \n"] for (node, _) in nodes: info += ["\t- ", node, " \n"] res = self.generate_result(info) diff --git a/slither/detectors/operations/missing_zero_address_validation.py b/slither/detectors/operations/missing_zero_address_validation.py index a6c8de9ff..4feac9d0c 100644 --- a/slither/detectors/operations/missing_zero_address_validation.py +++ b/slither/detectors/operations/missing_zero_address_validation.py @@ -12,7 +12,11 @@ from slither.core.declarations.function import ModifierStatements from slither.core.declarations.function_contract import FunctionContract from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.variables.local_variable import LocalVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Call from slither.slithir.operations import Send, Transfer, LowLevelCall from slither.utils.output import Output @@ -155,7 +159,7 @@ Bob calls `updateOwner` without specifying the `newOwner`, so Bob loses ownershi missing_zero_address_validation = self._detect_missing_zero_address_validation(contract) for (_, var_nodes) in missing_zero_address_validation: for var, nodes in var_nodes.items(): - info = [var, " lacks a zero-check on ", ":\n"] + info: DETECTOR_INFO = [var, " lacks a zero-check on ", ":\n"] for node in nodes: info += ["\t\t- ", node, "\n"] res = self.generate_result(info) diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py index 7edde20fc..93dda274a 100644 --- a/slither/detectors/operations/unused_return_values.py +++ b/slither/detectors/operations/unused_return_values.py @@ -7,7 +7,11 @@ from slither.core.cfg.node import Node from slither.core.declarations import Function from slither.core.declarations.function_contract import FunctionContract from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import HighLevelCall from slither.slithir.operations.operation import Operation from slither.utils.output import Output @@ -91,7 +95,7 @@ contract MyConc{ if unused_return: for node in unused_return: - info = [f, " ignores return value by ", node, "\n"] + info: DETECTOR_INFO = [f, " ignores return value by ", node, "\n"] res = self.generate_result(info) diff --git a/slither/detectors/operations/void_constructor.py b/slither/detectors/operations/void_constructor.py index fb44ea98c..365904fa9 100644 --- a/slither/detectors/operations/void_constructor.py +++ b/slither/detectors/operations/void_constructor.py @@ -1,6 +1,10 @@ from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Nop from slither.utils.output import Output @@ -39,7 +43,7 @@ When reading `B`'s constructor definition, we might assume that `A()` initiates for constructor_call in cst.explicit_base_constructor_calls_statements: for node in constructor_call.nodes: if any(isinstance(ir, Nop) for ir in node.irs): - info = ["Void constructor called in ", cst, ":\n"] + info: DETECTOR_INFO = ["Void constructor called in ", cst, ":\n"] info += ["\t- ", node, "\n"] res = self.generate_result(info) diff --git a/slither/detectors/reentrancy/reentrancy_eth.py b/slither/detectors/reentrancy/reentrancy_eth.py index 73622cf54..ccb668837 100644 --- a/slither/detectors/reentrancy/reentrancy_eth.py +++ b/slither/detectors/reentrancy/reentrancy_eth.py @@ -38,7 +38,7 @@ Do not report reentrancies that don't involve Ether (see `reentrancy-no-eth`)""" ```solidity function withdrawBalance(){ // send userBalance[msg.sender] Ether to msg.sender - // if mgs.sender is a contract, it will call its fallback function + // if msg.sender is a contract, it will call its fallback function if( ! (msg.sender.call.value(userBalance[msg.sender])() ) ){ throw; } diff --git a/slither/detectors/reentrancy/token.py b/slither/detectors/reentrancy/token.py index c960bffa7..d906a7303 100644 --- a/slither/detectors/reentrancy/token.py +++ b/slither/detectors/reentrancy/token.py @@ -4,7 +4,11 @@ from typing import Dict, List from slither.analyses.data_dependency.data_dependency import is_dependent from slither.core.cfg.node import Node from slither.core.declarations import Function, Contract, SolidityVariableComposed -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall, HighLevelCall from slither.utils.output import Output @@ -88,7 +92,7 @@ If you do, ensure your users are aware of the potential issues.""" for contract in self.compilation_unit.contracts_derived: vulns = _detect_token_reentrant(contract) for function, nodes in vulns.items(): - info = [function, " is an reentrancy unsafe token function:\n"] + info: DETECTOR_INFO = [function, " is an reentrancy unsafe token function:\n"] for node in nodes: info += ["\t-", node, "\n"] json = self.generate_result(info) diff --git a/slither/detectors/shadowing/builtin_symbols.py b/slither/detectors/shadowing/builtin_symbols.py index b0a44c8e2..ab5486105 100644 --- a/slither/detectors/shadowing/builtin_symbols.py +++ b/slither/detectors/shadowing/builtin_symbols.py @@ -9,7 +9,11 @@ from slither.core.declarations.function_contract import FunctionContract from slither.core.declarations.modifier import Modifier from slither.core.variables import Variable from slither.core.variables.local_variable import LocalVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -194,7 +198,7 @@ contract Bug { shadow_type = shadow[0] shadow_object = shadow[1] - info = [ + info: DETECTOR_INFO = [ shadow_object, f' ({shadow_type}) shadows built-in symbol"\n', ] diff --git a/slither/detectors/shadowing/local.py b/slither/detectors/shadowing/local.py index 07abe5248..d67b5f688 100644 --- a/slither/detectors/shadowing/local.py +++ b/slither/detectors/shadowing/local.py @@ -9,7 +9,11 @@ from slither.core.declarations.function_contract import FunctionContract from slither.core.declarations.modifier import Modifier from slither.core.variables.local_variable import LocalVariable from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -85,7 +89,7 @@ contract Bug { ] = [] # Loop through all functions + modifiers in this contract. - for function in contract.functions + contract.modifiers: + for function in contract.functions + list(contract.modifiers): # We should only look for functions declared directly in this contract (not in a base contract). if function.contract_declarer != contract: continue @@ -144,7 +148,7 @@ contract Bug { for shadow in shadows: local_variable = shadow[0] overshadowed = shadow[1] - info = [local_variable, " shadows:\n"] + info: DETECTOR_INFO = [local_variable, " shadows:\n"] for overshadowed_entry in overshadowed: info += [ "\t- ", diff --git a/slither/detectors/shadowing/state.py b/slither/detectors/shadowing/state.py index 801c370a5..c08dbfd25 100644 --- a/slither/detectors/shadowing/state.py +++ b/slither/detectors/shadowing/state.py @@ -6,7 +6,11 @@ from typing import List from slither.core.declarations import Contract from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.detectors.shadowing.common import is_upgradable_gap_variable from slither.utils.output import Output @@ -89,7 +93,7 @@ contract DerivedContract is BaseContract{ for all_variables in shadowing: shadow = all_variables[0] variables = all_variables[1:] - info = [shadow, " shadows:\n"] + info: DETECTOR_INFO = [shadow, " shadows:\n"] for var in variables: info += ["\t- ", var, "\n"] diff --git a/slither/detectors/slither/name_reused.py b/slither/detectors/slither/name_reused.py index f6f2820fa..babce6389 100644 --- a/slither/detectors/slither/name_reused.py +++ b/slither/detectors/slither/name_reused.py @@ -1,12 +1,17 @@ from collections import defaultdict -from typing import Any, List +from typing import List from slither.core.compilation_unit import SlitherCompilationUnit -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.core.declarations import Contract +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output -def _find_missing_inheritance(compilation_unit: SlitherCompilationUnit) -> List[Any]: +def _find_missing_inheritance(compilation_unit: SlitherCompilationUnit) -> List[Contract]: """ Filter contracts with missing inheritance to return only the "most base" contracts in the inheritance tree. @@ -80,7 +85,7 @@ As a result, the second contract cannot be analyzed. inheritance_corrupted[father.name].append(contract) for contract_name, files in names_reused.items(): - info = [contract_name, " is re-used:\n"] + info: DETECTOR_INFO = [contract_name, " is re-used:\n"] for file in files: if file is None: info += ["\t- In an file not found, most likely in\n"] diff --git a/slither/detectors/source/rtlo.py b/slither/detectors/source/rtlo.py index f89eb70eb..b020f69f9 100644 --- a/slither/detectors/source/rtlo.py +++ b/slither/detectors/source/rtlo.py @@ -1,7 +1,11 @@ import re from typing import List -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -78,7 +82,7 @@ contract Token idx = start_index + result_index relative = self.slither.crytic_compile.filename_lookup(filename).relative - info = f"{relative} contains a unicode right-to-left-override character at byte offset {idx}:\n" + info: DETECTOR_INFO = f"{relative} contains a unicode right-to-left-override character at byte offset {idx}:\n" # We have a patch, so pattern.find will return at least one result diff --git a/slither/detectors/statements/array_length_assignment.py b/slither/detectors/statements/array_length_assignment.py index 51302a2c9..70dc5aadb 100644 --- a/slither/detectors/statements/array_length_assignment.py +++ b/slither/detectors/statements/array_length_assignment.py @@ -1,7 +1,9 @@ """ Module detecting assignment of array length """ -from typing import List, Set +from typing import List, Set, Union + +from slither.core.variables import Variable from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, @@ -14,7 +16,7 @@ from slither.slithir.variables.reference import ReferenceVariable from slither.slithir.operations.binary import Binary from slither.analyses.data_dependency.data_dependency import is_tainted from slither.core.declarations.contract import Contract -from slither.utils.output import Output +from slither.utils.output import Output, SupportedOutput def detect_array_length_assignment(contract: Contract) -> Set[Node]: @@ -50,7 +52,7 @@ def detect_array_length_assignment(contract: Contract) -> Set[Node]: elif isinstance(ir, (Assignment, Binary)): if isinstance(ir.lvalue, ReferenceVariable): if ir.lvalue in array_length_refs and any( - is_tainted(v, contract) for v in ir.read + is_tainted(v, contract) for v in ir.read if isinstance(v, Variable) ): # the taint is not precise enough yet # as a result, REF_0 = REF_0 + 1 @@ -120,12 +122,16 @@ Otherwise, thoroughly review the contract to ensure a user-controlled variable c for contract in self.contracts: array_length_assignments = detect_array_length_assignment(contract) if array_length_assignments: - contract_info = [ + contract_info: List[Union[str, SupportedOutput]] = [ contract, " contract sets array length with a user-controlled value:\n", ] for node in array_length_assignments: - node_info = contract_info + ["\t- ", node, "\n"] + node_info: List[Union[str, SupportedOutput]] = contract_info + [ + "\t- ", + node, + "\n", + ] res = self.generate_result(node_info) results.append(res) diff --git a/slither/detectors/statements/assembly.py b/slither/detectors/statements/assembly.py index 2c0c49f09..25b5d8034 100644 --- a/slither/detectors/statements/assembly.py +++ b/slither/detectors/statements/assembly.py @@ -6,7 +6,11 @@ from typing import List, Tuple from slither.core.cfg.node import Node, NodeType from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -52,7 +56,7 @@ class Assembly(AbstractDetector): for c in self.contracts: values = self.detect_assembly(c) for func, nodes in values: - info = [func, " uses assembly\n"] + info: DETECTOR_INFO = [func, " uses assembly\n"] # sort the nodes to get deterministic results nodes.sort(key=lambda x: x.node_id) diff --git a/slither/detectors/statements/assert_state_change.py b/slither/detectors/statements/assert_state_change.py index c82919de6..769d730b8 100644 --- a/slither/detectors/statements/assert_state_change.py +++ b/slither/detectors/statements/assert_state_change.py @@ -6,7 +6,11 @@ from typing import List, Tuple from slither.core.cfg.node import Node from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations.internal_call import InternalCall from slither.utils.output import Output @@ -25,7 +29,7 @@ def detect_assert_state_change( results = [] # Loop for each function and modifier. - for function in contract.functions_declared + contract.modifiers_declared: + for function in contract.functions_declared + list(contract.modifiers_declared): for node in function.nodes: # Detect assert() calls if any(c.name == "assert(bool)" for c in node.internal_calls) and ( @@ -36,7 +40,9 @@ def detect_assert_state_change( any( ir for ir in node.irs - if isinstance(ir, InternalCall) and ir.function.state_variables_written + if isinstance(ir, InternalCall) + and ir.function + and ir.function.state_variables_written ) ): results.append((function, node)) @@ -85,7 +91,10 @@ The assert in `bad()` increments the state variable `s_a` while checking for the for contract in self.contracts: assert_state_change = detect_assert_state_change(contract) for (func, node) in assert_state_change: - info = [func, " has an assert() call which possibly changes state.\n"] + info: DETECTOR_INFO = [ + func, + " has an assert() call which possibly changes state.\n", + ] info += ["\t-", node, "\n"] info += [ "Consider using require() or change the invariant to not modify the state.\n" diff --git a/slither/detectors/statements/boolean_constant_equality.py b/slither/detectors/statements/boolean_constant_equality.py index 5b91f364f..97eb14aa5 100644 --- a/slither/detectors/statements/boolean_constant_equality.py +++ b/slither/detectors/statements/boolean_constant_equality.py @@ -6,7 +6,11 @@ from typing import List, Set, Tuple from slither.core.cfg.node import Node from slither.core.declarations import Function from slither.core.declarations.contract import Contract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import ( Binary, BinaryType, @@ -84,7 +88,7 @@ Boolean constants can be used directly and do not need to be compare to `true` o boolean_constant_misuses = self._detect_boolean_equality(contract) for (func, nodes) in boolean_constant_misuses: for node in nodes: - info = [ + info: DETECTOR_INFO = [ func, " compares to a boolean constant:\n\t-", node, diff --git a/slither/detectors/statements/boolean_constant_misuse.py b/slither/detectors/statements/boolean_constant_misuse.py index 96dd2012f..093e43fee 100644 --- a/slither/detectors/statements/boolean_constant_misuse.py +++ b/slither/detectors/statements/boolean_constant_misuse.py @@ -7,7 +7,11 @@ from slither.core.cfg.node import Node, NodeType from slither.core.declarations import Function from slither.core.declarations.contract import Contract from slither.core.solidity_types import ElementaryType -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import ( Assignment, Call, @@ -120,7 +124,7 @@ Other uses (in complex expressions, as conditionals) indicate either an error or boolean_constant_misuses = self._detect_boolean_constant_misuses(contract) for (func, nodes) in boolean_constant_misuses: for node in nodes: - info = [ + info: DETECTOR_INFO = [ func, " uses a Boolean constant improperly:\n\t-", node, diff --git a/slither/detectors/statements/calls_in_loop.py b/slither/detectors/statements/calls_in_loop.py index fdd0c6732..d40d18f59 100644 --- a/slither/detectors/statements/calls_in_loop.py +++ b/slither/detectors/statements/calls_in_loop.py @@ -1,6 +1,10 @@ from typing import List, Optional from slither.core.cfg.node import NodeType, Node -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.declarations import Contract from slither.utils.output import Output from slither.slithir.operations import ( @@ -44,6 +48,7 @@ def call_in_loop( continue ret.append(ir.node) if isinstance(ir, (InternalCall)): + assert ir.function call_in_loop(ir.function.entry_point, in_loop_counter, visited, ret) for son in node.sons: @@ -94,7 +99,7 @@ If one of the destinations has a fallback function that reverts, `bad` will alwa for node in values: func = node.function - info = [func, " has external calls inside a loop: ", node, "\n"] + info: DETECTOR_INFO = [func, " has external calls inside a loop: ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/controlled_delegatecall.py b/slither/detectors/statements/controlled_delegatecall.py index 08280940d..32e59d6eb 100644 --- a/slither/detectors/statements/controlled_delegatecall.py +++ b/slither/detectors/statements/controlled_delegatecall.py @@ -3,7 +3,11 @@ from typing import List from slither.analyses.data_dependency.data_dependency import is_tainted from slither.core.cfg.node import Node from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall from slither.utils.output import Output @@ -58,13 +62,13 @@ Bob calls `delegate` and delegates the execution to his malicious contract. As a continue nodes = controlled_delegatecall(f) if nodes: - func_info = [ + func_info: DETECTOR_INFO = [ f, " uses delegatecall to a input-controlled function id\n", ] for node in nodes: - node_info = func_info + ["\t- ", node, "\n"] + node_info: DETECTOR_INFO = func_info + ["\t- ", node, "\n"] res = self.generate_result(node_info) results.append(res) diff --git a/slither/detectors/statements/costly_operations_in_loop.py b/slither/detectors/statements/costly_operations_in_loop.py index 930085cc6..53fa12647 100644 --- a/slither/detectors/statements/costly_operations_in_loop.py +++ b/slither/detectors/statements/costly_operations_in_loop.py @@ -1,6 +1,10 @@ from typing import List, Optional from slither.core.cfg.node import NodeType, Node -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.core.declarations import Contract from slither.utils.output import Output from slither.slithir.operations import InternalCall, OperationWithLValue @@ -39,7 +43,7 @@ def costly_operations_in_loop( if isinstance(ir, OperationWithLValue) and isinstance(ir.lvalue, StateVariable): ret.append(ir.node) break - if isinstance(ir, (InternalCall)): + if isinstance(ir, (InternalCall)) and ir.function: costly_operations_in_loop(ir.function.entry_point, in_loop_counter, visited, ret) for son in node.sons: @@ -98,7 +102,7 @@ Incrementing `state_variable` in a loop incurs a lot of gas because of expensive values = detect_costly_operations_in_loop(c) for node in values: func = node.function - info = [func, " has costly operations inside a loop:\n"] + info: DETECTOR_INFO = [func, " has costly operations inside a loop:\n"] info += ["\t- ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/delegatecall_in_loop.py b/slither/detectors/statements/delegatecall_in_loop.py index b7bf70cbc..bdcf5dcae 100644 --- a/slither/detectors/statements/delegatecall_in_loop.py +++ b/slither/detectors/statements/delegatecall_in_loop.py @@ -1,6 +1,10 @@ from typing import List, Optional from slither.core.cfg.node import NodeType, Node -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall, InternalCall from slither.core.declarations import Contract from slither.utils.output import Output @@ -38,7 +42,7 @@ def delegatecall_in_loop( and ir.function_name == "delegatecall" ): results.append(ir.node) - if isinstance(ir, (InternalCall)): + if isinstance(ir, (InternalCall)) and ir.function: delegatecall_in_loop(ir.function.entry_point, in_loop_counter, visited, results) for son in node.sons: @@ -94,7 +98,12 @@ Carefully check that the function called by `delegatecall` is not payable/doesn' for node in values: func = node.function - info = [func, " has delegatecall inside a loop in a payable function: ", node, "\n"] + info: DETECTOR_INFO = [ + func, + " has delegatecall inside a loop in a payable function: ", + node, + "\n", + ] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/deprecated_calls.py b/slither/detectors/statements/deprecated_calls.py index 3d0ca4ba9..e59d254bb 100644 --- a/slither/detectors/statements/deprecated_calls.py +++ b/slither/detectors/statements/deprecated_calls.py @@ -11,7 +11,11 @@ from slither.core.declarations.solidity_variables import ( ) from slither.core.expressions.expression import Expression from slither.core.variables import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall from slither.utils.output import Output from slither.visitors.expression.export_values import ExportValues @@ -186,7 +190,7 @@ contract ContractWithDeprecatedReferences { for deprecated_reference in deprecated_references: source_object = deprecated_reference[0] deprecated_entries = deprecated_reference[1] - info = ["Deprecated standard detected ", source_object, ":\n"] + info: DETECTOR_INFO = ["Deprecated standard detected ", source_object, ":\n"] for (_dep_id, original_desc, recommended_disc) in deprecated_entries: info += [ diff --git a/slither/detectors/statements/divide_before_multiply.py b/slither/detectors/statements/divide_before_multiply.py index a9de76b40..6f199db41 100644 --- a/slither/detectors/statements/divide_before_multiply.py +++ b/slither/detectors/statements/divide_before_multiply.py @@ -2,13 +2,18 @@ Module detecting possible loss of precision due to divide before multiple """ from collections import defaultdict -from typing import Any, DefaultDict, List, Set, Tuple +from typing import DefaultDict, List, Set, Tuple from slither.core.cfg.node import Node from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Binary, Assignment, BinaryType, LibraryCall, Operation +from slither.slithir.utils.utils import LVALUE from slither.slithir.variables import Constant from slither.utils.output import Output @@ -19,7 +24,7 @@ def is_division(ir: Operation) -> bool: return True if isinstance(ir, LibraryCall): - if ir.function.name.lower() in [ + if ir.function.name and ir.function.name.lower() in [ "div", "safediv", ]: @@ -35,7 +40,7 @@ def is_multiplication(ir: Operation) -> bool: return True if isinstance(ir, LibraryCall): - if ir.function.name.lower() in [ + if ir.function.name and ir.function.name.lower() in [ "mul", "safemul", ]: @@ -58,7 +63,7 @@ def is_assert(node: Node) -> bool: # pylint: disable=too-many-branches def _explore( - to_explore: Set[Node], f_results: List[Node], divisions: DefaultDict[Any, Any] + to_explore: Set[Node], f_results: List[List[Node]], divisions: DefaultDict[LVALUE, List[Node]] ) -> None: explored = set() while to_explore: # pylint: disable=too-many-nested-blocks @@ -70,22 +75,22 @@ def _explore( equality_found = False # List of nodes related to one bug instance - node_results = [] + node_results: List[Node] = [] for ir in node.irs: if isinstance(ir, Assignment): if ir.rvalue in divisions: # Avoid dupplicate. We dont use set so we keep the order of the nodes - if node not in divisions[ir.rvalue]: - divisions[ir.lvalue] = divisions[ir.rvalue] + [node] + if node not in divisions[ir.rvalue]: # type: ignore + divisions[ir.lvalue] = divisions[ir.rvalue] + [node] # type: ignore else: - divisions[ir.lvalue] = divisions[ir.rvalue] + divisions[ir.lvalue] = divisions[ir.rvalue] # type: ignore if is_division(ir): - divisions[ir.lvalue] = [node] + divisions[ir.lvalue] = [node] # type: ignore if is_multiplication(ir): - mul_arguments = ir.read if isinstance(ir, Binary) else ir.arguments + mul_arguments = ir.read if isinstance(ir, Binary) else ir.arguments # type: ignore nodes = [] for r in mul_arguments: if not isinstance(r, Constant) and (r in divisions): @@ -125,7 +130,7 @@ def detect_divide_before_multiply( # List of tuple (function -> list(list(nodes))) # Each list(nodes) of the list is one bug instances # Each node in the list(nodes) is involved in the bug - results = [] + results: List[Tuple[FunctionContract, List[Node]]] = [] # Loop for each function and modifier. for function in contract.functions_declared: @@ -134,11 +139,11 @@ def detect_divide_before_multiply( # List of list(nodes) # Each list(nodes) is one bug instances - f_results = [] + f_results: List[List[Node]] = [] # lvalue -> node # track all the division results (and the assignment of the division results) - divisions = defaultdict(list) + divisions: DefaultDict[LVALUE, List[Node]] = defaultdict(list) _explore({function.entry_point}, f_results, divisions) @@ -190,7 +195,7 @@ In general, it's usually a good idea to re-arrange arithmetic to perform multipl if divisions_before_multiplications: for (func, nodes) in divisions_before_multiplications: - info = [ + info: DETECTOR_INFO = [ func, " performs a multiplication on the result of a division:\n", ] diff --git a/slither/detectors/statements/mapping_deletion.py b/slither/detectors/statements/mapping_deletion.py index 59882cc96..4cdac7240 100644 --- a/slither/detectors/statements/mapping_deletion.py +++ b/slither/detectors/statements/mapping_deletion.py @@ -8,7 +8,11 @@ from slither.core.declarations import Structure from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract from slither.core.solidity_types import MappingType, UserDefinedType -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import Delete from slither.utils.output import Output @@ -83,7 +87,7 @@ The mapping `balances` is never deleted, so `remove` does not work as intended." for c in self.contracts: mapping = MappingDeletionDetection.detect_mapping_deletion(c) for (func, struct, node) in mapping: - info = [func, " deletes ", struct, " which contains a mapping:\n"] + info: DETECTOR_INFO = [func, " deletes ", struct, " which contains a mapping:\n"] info += ["\t-", node, "\n"] res = self.generate_result(info) diff --git a/slither/detectors/statements/msg_value_in_loop.py b/slither/detectors/statements/msg_value_in_loop.py index bfd541201..55bd9bfc2 100644 --- a/slither/detectors/statements/msg_value_in_loop.py +++ b/slither/detectors/statements/msg_value_in_loop.py @@ -1,6 +1,10 @@ from typing import List, Optional from slither.core.cfg.node import NodeType, Node -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import InternalCall from slither.core.declarations import SolidityVariableComposed, Contract from slither.utils.output import Output @@ -86,7 +90,7 @@ Track msg.value through a local variable and decrease its amount on every iterat for node in values: func = node.function - info = [func, " use msg.value in a loop: ", node, "\n"] + info: DETECTOR_INFO = [func, " use msg.value in a loop: ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/redundant_statements.py b/slither/detectors/statements/redundant_statements.py index 7e7223134..cebaecebe 100644 --- a/slither/detectors/statements/redundant_statements.py +++ b/slither/detectors/statements/redundant_statements.py @@ -7,7 +7,11 @@ from slither.core.cfg.node import Node, NodeType from slither.core.declarations.contract import Contract from slither.core.expressions.elementary_type_name_expression import ElementaryTypeNameExpression from slither.core.expressions.identifier import Identifier -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -87,7 +91,13 @@ Each commented line references types/identifiers, but performs no action with th if redundant_statements: for redundant_statement in redundant_statements: - info = ['Redundant expression "', redundant_statement, '" in', contract, "\n"] + info: DETECTOR_INFO = [ + 'Redundant expression "', + redundant_statement, + '" in', + contract, + "\n", + ] json = self.generate_result(info) results.append(json) diff --git a/slither/detectors/statements/too_many_digits.py b/slither/detectors/statements/too_many_digits.py index 239efa4be..a5e09a34c 100644 --- a/slither/detectors/statements/too_many_digits.py +++ b/slither/detectors/statements/too_many_digits.py @@ -7,7 +7,11 @@ from typing import List from slither.core.cfg.node import Node from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.variables import Constant from slither.utils.output import Output @@ -88,9 +92,9 @@ Use: # iterate over all the nodes ret = self._detect_too_many_digits(f) if ret: - func_info = [f, " uses literals with too many digits:"] + func_info: DETECTOR_INFO = [f, " uses literals with too many digits:"] for node in ret: - node_info = func_info + ["\n\t- ", node, "\n"] + node_info: DETECTOR_INFO = func_info + ["\n\t- ", node, "\n"] # Add the result in result res = self.generate_result(node_info) diff --git a/slither/detectors/statements/tx_origin.py b/slither/detectors/statements/tx_origin.py index 34f8173d5..49bf6006d 100644 --- a/slither/detectors/statements/tx_origin.py +++ b/slither/detectors/statements/tx_origin.py @@ -6,7 +6,11 @@ from typing import List, Tuple from slither.core.cfg.node import Node from slither.core.declarations.contract import Contract from slither.core.declarations.function_contract import FunctionContract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -80,7 +84,7 @@ Bob is the owner of `TxOrigin`. Bob calls Eve's contract. Eve's contract calls ` for func, nodes in values: for node in nodes: - info = [func, " uses tx.origin for authorization: ", node, "\n"] + info: DETECTOR_INFO = [func, " uses tx.origin for authorization: ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/type_based_tautology.py b/slither/detectors/statements/type_based_tautology.py index 9edb1f53e..2e0fc8480 100644 --- a/slither/detectors/statements/type_based_tautology.py +++ b/slither/detectors/statements/type_based_tautology.py @@ -17,10 +17,9 @@ def typeRange(t: str) -> Tuple[int, int]: bits = int(t.split("int")[1]) if t in Uint: return 0, (2**bits) - 1 - if t in Int: - v = (2 ** (bits - 1)) - 1 - return -v, v - return None + assert t in Int + v = (2 ** (bits - 1)) - 1 + return -v, v def _detect_tautology_or_contradiction(low: int, high: int, cval: int, op: BinaryType) -> bool: diff --git a/slither/detectors/statements/unary.py b/slither/detectors/statements/unary.py index 5bb8d9c3c..9c0add238 100644 --- a/slither/detectors/statements/unary.py +++ b/slither/detectors/statements/unary.py @@ -4,29 +4,43 @@ Module detecting the incorrect use of unary expressions from typing import List from slither.core.expressions.assignment_operation import AssignmentOperation +from slither.core.expressions.expression import Expression from slither.core.expressions.unary_operation import UnaryOperationType, UnaryOperation -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output from slither.visitors.expression.expression import ExpressionVisitor - +# pylint: disable=too-few-public-methods class InvalidUnaryExpressionDetector(ExpressionVisitor): + def __init__(self, expression: Expression) -> None: + self.result: bool = False + super().__init__(expression) + def _post_assignement_operation(self, expression: AssignmentOperation) -> None: if isinstance(expression.expression_right, UnaryOperation): if expression.expression_right.type == UnaryOperationType.PLUS_PRE: # This is defined in ExpressionVisitor but pylint # Seems to think its not # pylint: disable=attribute-defined-outside-init - self._result = True + self.result = True +# pylint: disable=too-few-public-methods class InvalidUnaryStateVariableDetector(ExpressionVisitor): + def __init__(self, expression: Expression) -> None: + self.result: bool = False + super().__init__(expression) + def _post_unary_operation(self, expression: UnaryOperation) -> None: if expression.type == UnaryOperationType.PLUS_PRE: # This is defined in ExpressionVisitor but pylint # Seems to think its not # pylint: disable=attribute-defined-outside-init - self._result = True + self.result = True class IncorrectUnaryExpressionDetection(AbstractDetector): @@ -72,15 +86,18 @@ contract Bug{ for variable in c.state_variables: if ( variable.expression - and InvalidUnaryStateVariableDetector(variable.expression).result() + and InvalidUnaryStateVariableDetector(variable.expression).result ): - info = [variable, f" uses an dangerous unary operator: {variable.expression}\n"] + info: DETECTOR_INFO = [ + variable, + f" uses an dangerous unary operator: {variable.expression}\n", + ] json = self.generate_result(info) results.append(json) for f in c.functions_and_modifiers_declared: for node in f.nodes: - if node.expression and InvalidUnaryExpressionDetector(node.expression).result(): + if node.expression and InvalidUnaryExpressionDetector(node.expression).result: info = [node.function, " uses an dangerous unary operator: ", node, "\n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/unprotected_upgradeable.py b/slither/detectors/statements/unprotected_upgradeable.py index 1adf49540..30e6300f1 100644 --- a/slither/detectors/statements/unprotected_upgradeable.py +++ b/slither/detectors/statements/unprotected_upgradeable.py @@ -2,7 +2,11 @@ from typing import List from slither.core.declarations import SolidityFunction, Function from slither.core.declarations.contract import Contract -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import LowLevelCall, SolidityCall from slither.utils.output import Output @@ -110,17 +114,15 @@ Buggy is an upgradeable contract. Anyone can call initialize on the logic contra item for sublist in vars_init_in_constructors_ for item in sublist ] if vars_init and (set(vars_init) - set(vars_init_in_constructors)): - info = ( - [ - contract, - " is an upgradeable contract that does not protect its initialize functions: ", - ] - + initialize_functions - + [ - ". Anyone can delete the contract with: ", - ] - + functions_that_can_destroy - ) + info: DETECTOR_INFO = [ + contract, + " is an upgradeable contract that does not protect its initialize functions: ", + ] + info += initialize_functions + info += [ + ". Anyone can delete the contract with: ", + ] + info += functions_that_can_destroy res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/statements/write_after_write.py b/slither/detectors/statements/write_after_write.py index 5b2e29925..1f11921cb 100644 --- a/slither/detectors/statements/write_after_write.py +++ b/slither/detectors/statements/write_after_write.py @@ -4,7 +4,11 @@ from slither.core.cfg.node import Node, NodeType from slither.core.solidity_types import ElementaryType from slither.core.variables.state_variable import StateVariable from slither.core.variables.variable import Variable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import ( OperationWithLValue, HighLevelCall, @@ -33,6 +37,8 @@ def _handle_ir( _remove_states(written) if isinstance(ir, InternalCall): + if not ir.function: + return if ir.function.all_high_level_calls() or ir.function.all_library_calls(): _remove_states(written) @@ -128,10 +134,17 @@ class WriteAfterWrite(AbstractDetector): for contract in self.compilation_unit.contracts_derived: for function in contract.functions: if function.entry_point: - ret = [] + ret: List[Tuple[Variable, Node, Node]] = [] _detect_write_after_write(function.entry_point, set(), {}, ret) for var, node1, node2 in ret: - info = [var, " is written in both\n\t", node1, "\n\t", node2, "\n"] + info: DETECTOR_INFO = [ + var, + " is written in both\n\t", + node1, + "\n\t", + node2, + "\n", + ] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/variables/function_init_state_variables.py b/slither/detectors/variables/function_init_state_variables.py index e35cfe351..e440a4f96 100644 --- a/slither/detectors/variables/function_init_state_variables.py +++ b/slither/detectors/variables/function_init_state_variables.py @@ -6,7 +6,11 @@ from typing import List from slither.core.declarations.contract import Contract from slither.core.declarations.function import Function from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output from slither.visitors.expression.export_values import ExportValues @@ -104,7 +108,7 @@ Special care must be taken when initializing state variables from an immediate f state_variables = detect_function_init_state_vars(contract) if state_variables: for state_variable in state_variables: - info = [ + info: DETECTOR_INFO = [ state_variable, " is set pre-construction with a non-constant function or state variable:\n", ] diff --git a/slither/detectors/variables/predeclaration_usage_local.py b/slither/detectors/variables/predeclaration_usage_local.py index 177035ef4..b4d75e51a 100644 --- a/slither/detectors/variables/predeclaration_usage_local.py +++ b/slither/detectors/variables/predeclaration_usage_local.py @@ -11,6 +11,7 @@ from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, ALL_SOLC_VERSIONS_04, + DETECTOR_INFO, ) from slither.utils.output import Output @@ -154,7 +155,7 @@ Additionally, the for-loop uses the variable `max`, which is declared in a previ predeclared_usage_node, predeclared_usage_local_variable, ) in predeclared_usage_nodes: - info = [ + info: DETECTOR_INFO = [ "Variable '", predeclared_usage_local_variable, "' in ", diff --git a/slither/detectors/variables/similar_variables.py b/slither/detectors/variables/similar_variables.py index d0a15aaab..465e1ce01 100644 --- a/slither/detectors/variables/similar_variables.py +++ b/slither/detectors/variables/similar_variables.py @@ -7,7 +7,11 @@ from typing import List, Set, Tuple from slither.core.declarations.contract import Contract from slither.core.variables.local_variable import LocalVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.utils.output import Output @@ -86,7 +90,13 @@ class SimilarVarsDetection(AbstractDetector): for (v1, v2) in sorted(allVars, key=lambda x: (x[0].name, x[1].name)): v_left = v1 if v1.name < v2.name else v2 v_right = v2 if v_left == v1 else v1 - info = ["Variable ", v_left, " is too similar to ", v_right, "\n"] + info: DETECTOR_INFO = [ + "Variable ", + v_left, + " is too similar to ", + v_right, + "\n", + ] json = self.generate_result(info) results.append(json) return results diff --git a/slither/detectors/variables/uninitialized_state_variables.py b/slither/detectors/variables/uninitialized_state_variables.py index 0fbb73b5d..13cf11052 100644 --- a/slither/detectors/variables/uninitialized_state_variables.py +++ b/slither/detectors/variables/uninitialized_state_variables.py @@ -14,7 +14,11 @@ from slither.core.declarations import Function from slither.core.declarations.contract import Contract from slither.core.variables import Variable from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations import InternalCall, LibraryCall from slither.slithir.variables import ReferenceVariable from slither.utils.output import Output @@ -140,7 +144,7 @@ Initialize all the variables. If a variable is meant to be initialized to zero, ret = self._detect_uninitialized(c) for variable, functions in ret: - info = [variable, " is never initialized. It is used in:\n"] + info: DETECTOR_INFO = [variable, " is never initialized. It is used in:\n"] for f in functions: info += ["\t- ", f, "\n"] diff --git a/slither/detectors/variables/unused_state_variables.py b/slither/detectors/variables/unused_state_variables.py index d542f67d3..afb4e3ac5 100644 --- a/slither/detectors/variables/unused_state_variables.py +++ b/slither/detectors/variables/unused_state_variables.py @@ -1,13 +1,19 @@ """ Module detecting unused state variables """ -from typing import List, Optional +from typing import List, Optional, Dict from slither.core.compilation_unit import SlitherCompilationUnit +from slither.core.declarations import Function from slither.core.declarations.contract import Contract from slither.core.solidity_types import ArrayType +from slither.core.variables import Variable from slither.core.variables.state_variable import StateVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.formatters.variables.unused_state_variables import custom_format from slither.utils.output import Output from slither.visitors.expression.export_values import ExportValues @@ -18,14 +24,19 @@ def detect_unused(contract: Contract) -> Optional[List[StateVariable]]: return None # Get all the variables read in all the functions and modifiers - all_functions = contract.all_functions_called + contract.modifiers + all_functions = [ + f + for f in contract.all_functions_called + list(contract.modifiers) + if isinstance(f, Function) + ] variables_used = [x.state_variables_read for x in all_functions] variables_used += [ x.state_variables_written for x in all_functions if not x.is_constructor_variables ] - array_candidates = [x.variables for x in all_functions] - array_candidates = [i for sl in array_candidates for i in sl] + contract.state_variables + array_candidates_ = [x.variables for x in all_functions] + array_candidates: List[Variable] = [i for sl in array_candidates_ for i in sl] + array_candidates += contract.state_variables array_candidates = [ x.type.length for x in array_candidates if isinstance(x.type, ArrayType) and x.type.length ] @@ -65,12 +76,12 @@ class UnusedStateVars(AbstractDetector): unusedVars = detect_unused(c) if unusedVars: for var in unusedVars: - info = [var, " is never used in ", c, "\n"] + info: DETECTOR_INFO = [var, " is never used in ", c, "\n"] json = self.generate_result(info) results.append(json) return results @staticmethod - def _format(compilation_unit: SlitherCompilationUnit, result): + def _format(compilation_unit: SlitherCompilationUnit, result: Dict) -> None: custom_format(compilation_unit, result) diff --git a/slither/detectors/variables/var_read_using_this.py b/slither/detectors/variables/var_read_using_this.py index b224f8c17..537eecf8a 100644 --- a/slither/detectors/variables/var_read_using_this.py +++ b/slither/detectors/variables/var_read_using_this.py @@ -2,7 +2,11 @@ from typing import List from slither.core.cfg.node import Node from slither.core.declarations import Function, SolidityVariable -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) from slither.slithir.operations.high_level_call import HighLevelCall from slither.utils.output import Output @@ -13,7 +17,7 @@ class VarReadUsingThis(AbstractDetector): IMPACT = DetectorClassification.OPTIMIZATION CONFIDENCE = DetectorClassification.HIGH - WIKI = "https://github.com/crytic/slither/wiki/Vulnerabilities-Description#public-variable-read-in-external-context" + WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context" WIKI_TITLE = "Public variable read in external context" WIKI_DESCRIPTION = "The contract reads its own variable using `this`, adding overhead of an unnecessary STATICCALL." @@ -35,7 +39,7 @@ contract C { for c in self.contracts: for func in c.functions: for node in self._detect_var_read_using_this(func): - info = [ + info: DETECTOR_INFO = [ "The function ", func, " reads ", diff --git a/slither/formatters/attributes/const_functions.py b/slither/formatters/attributes/const_functions.py index 33588af74..feb404f7b 100644 --- a/slither/formatters/attributes/const_functions.py +++ b/slither/formatters/attributes/const_functions.py @@ -1,11 +1,12 @@ import re +from typing import Dict from slither.core.compilation_unit import SlitherCompilationUnit from slither.formatters.exceptions import FormatError from slither.formatters.utils.patches import create_patch -def custom_format(compilation_unit: SlitherCompilationUnit, result): +def custom_format(compilation_unit: SlitherCompilationUnit, result: Dict) -> None: for file_scope in compilation_unit.scopes.values(): elements = result["elements"] for element in elements: @@ -33,8 +34,12 @@ def custom_format(compilation_unit: SlitherCompilationUnit, result): def _patch( - compilation_unit: SlitherCompilationUnit, result, in_file, modify_loc_start, modify_loc_end -): + compilation_unit: SlitherCompilationUnit, + result: Dict, + in_file: str, + modify_loc_start: int, + modify_loc_end: int, +) -> None: in_file_str = compilation_unit.core.source_code[in_file].encode("utf8") old_str_of_interest = in_file_str[modify_loc_start:modify_loc_end] # Find the keywords view|pure|constant and remove them diff --git a/slither/formatters/attributes/constant_pragma.py b/slither/formatters/attributes/constant_pragma.py index 251dd07ae..1127b1e43 100644 --- a/slither/formatters/attributes/constant_pragma.py +++ b/slither/formatters/attributes/constant_pragma.py @@ -1,4 +1,7 @@ import re +from typing import Dict, List, Union + +from slither.core.compilation_unit import SlitherCompilationUnit from slither.formatters.exceptions import FormatImpossible from slither.formatters.utils.patches import create_patch @@ -16,9 +19,9 @@ REPLACEMENT_VERSIONS = ["^0.4.25", "^0.5.3"] PATTERN = re.compile(r"(\^|>|>=|<|<=)?([ ]+)?(\d+)\.(\d+)\.(\d+)") -def custom_format(slither, result): +def custom_format(slither: SlitherCompilationUnit, result: Dict) -> None: elements = result["elements"] - versions_used = [] + versions_used: List[str] = [] for element in elements: versions_used.append("".join(element["type_specific_fields"]["directive"][1:])) solc_version_replace = _analyse_versions(versions_used) @@ -33,7 +36,7 @@ def custom_format(slither, result): ) -def _analyse_versions(used_solc_versions): +def _analyse_versions(used_solc_versions: List[str]) -> str: replace_solc_versions = [] for version in used_solc_versions: replace_solc_versions.append(_determine_solc_version_replacement(version)) @@ -42,7 +45,7 @@ def _analyse_versions(used_solc_versions): return replace_solc_versions[0] -def _determine_solc_version_replacement(used_solc_version): +def _determine_solc_version_replacement(used_solc_version: str) -> str: versions = PATTERN.findall(used_solc_version) if len(versions) == 1: version = versions[0] @@ -64,10 +67,16 @@ def _determine_solc_version_replacement(used_solc_version): raise FormatImpossible("Unknown version!") +# pylint: disable=too-many-arguments def _patch( - slither, result, in_file, pragma, modify_loc_start, modify_loc_end -): # pylint: disable=too-many-arguments - in_file_str = slither.source_code[in_file].encode("utf8") + slither: SlitherCompilationUnit, + result: Dict, + in_file: str, + pragma: Union[str, bytes], + modify_loc_start: int, + modify_loc_end: int, +) -> None: + in_file_str = slither.core.source_code[in_file].encode("utf8") old_str_of_interest = in_file_str[modify_loc_start:modify_loc_end] create_patch( result, diff --git a/slither/formatters/naming_convention/naming_convention.py b/slither/formatters/naming_convention/naming_convention.py index 76974296f..4aadad072 100644 --- a/slither/formatters/naming_convention/naming_convention.py +++ b/slither/formatters/naming_convention/naming_convention.py @@ -1,9 +1,10 @@ import re import logging -from typing import List +from typing import List, Set, Dict, Union, Optional, Callable, Type, Sequence from slither.core.compilation_unit import SlitherCompilationUnit +from slither.core.variables import Variable from slither.slithir.operations import ( Send, Transfer, @@ -14,7 +15,7 @@ from slither.slithir.operations import ( InternalDynamicCall, Operation, ) -from slither.core.declarations import Modifier +from slither.core.declarations import Modifier, Event from slither.core.solidity_types import UserDefinedType, MappingType from slither.core.declarations import Enum, Contract, Structure, Function from slither.core.solidity_types.elementary_type import ElementaryTypeName @@ -29,7 +30,7 @@ logger = logging.getLogger("Slither.Format") # pylint: disable=anomalous-backslash-in-string -def custom_format(compilation_unit: SlitherCompilationUnit, result): +def custom_format(compilation_unit: SlitherCompilationUnit, result: Dict) -> None: elements = result["elements"] for element in elements: target = element["additional_fields"]["target"] @@ -129,24 +130,24 @@ SOLIDITY_KEYWORDS += [ SOLIDITY_KEYWORDS += ElementaryTypeName -def _name_already_use(slither, name): +def _name_already_use(slither: SlitherCompilationUnit, name: str) -> bool: # Do not convert to a name used somewhere else if not KEY in slither.context: - all_names = set() + all_names: Set[str] = set() for contract in slither.contracts_derived: all_names = all_names.union({st.name for st in contract.structures}) all_names = all_names.union({f.name for f in contract.functions_and_modifiers}) all_names = all_names.union({e.name for e in contract.enums}) - all_names = all_names.union({s.name for s in contract.state_variables}) + all_names = all_names.union({s.name for s in contract.state_variables if s.name}) for function in contract.functions: - all_names = all_names.union({v.name for v in function.variables}) + all_names = all_names.union({v.name for v in function.variables if v.name}) slither.context[KEY] = all_names return name in slither.context[KEY] -def _convert_CapWords(original_name, slither): +def _convert_CapWords(original_name: str, slither: SlitherCompilationUnit) -> str: name = original_name.capitalize() while "_" in name: @@ -162,10 +163,13 @@ def _convert_CapWords(original_name, slither): return name -def _convert_mixedCase(original_name, compilation_unit: SlitherCompilationUnit): - name = original_name - if isinstance(name, bytes): - name = name.decode("utf8") +def _convert_mixedCase( + original_name: Union[str, bytes], compilation_unit: SlitherCompilationUnit +) -> str: + if isinstance(original_name, bytes): + name = original_name.decode("utf8") + else: + name = original_name while "_" in name: offset = name.find("_") @@ -174,13 +178,15 @@ def _convert_mixedCase(original_name, compilation_unit: SlitherCompilationUnit): name = name[0].lower() + name[1:] if _name_already_use(compilation_unit, name): - raise FormatImpossible(f"{original_name} cannot be converted to {name} (already used)") + raise FormatImpossible(f"{original_name} cannot be converted to {name} (already used)") # type: ignore if name in SOLIDITY_KEYWORDS: - raise FormatImpossible(f"{original_name} cannot be converted to {name} (Solidity keyword)") + raise FormatImpossible(f"{original_name} cannot be converted to {name} (Solidity keyword)") # type: ignore return name -def _convert_UPPER_CASE_WITH_UNDERSCORES(name, compilation_unit: SlitherCompilationUnit): +def _convert_UPPER_CASE_WITH_UNDERSCORES( + name: str, compilation_unit: SlitherCompilationUnit +) -> str: if _name_already_use(compilation_unit, name.upper()): raise FormatImpossible(f"{name} cannot be converted to {name.upper()} (already used)") if name.upper() in SOLIDITY_KEYWORDS: @@ -188,7 +194,10 @@ def _convert_UPPER_CASE_WITH_UNDERSCORES(name, compilation_unit: SlitherCompilat return name.upper() -conventions = { +TARGET_TYPE = Union[Contract, Variable, Function] +CONVENTION_F_TYPE = Callable[[str, SlitherCompilationUnit], str] + +conventions: Dict[str, CONVENTION_F_TYPE] = { "CapWords": _convert_CapWords, "mixedCase": _convert_mixedCase, "UPPER_CASE_WITH_UNDERSCORES": _convert_UPPER_CASE_WITH_UNDERSCORES, @@ -203,7 +212,9 @@ conventions = { ################################################################################### -def _get_from_contract(compilation_unit: SlitherCompilationUnit, element, name, getter): +def _get_from_contract( + compilation_unit: SlitherCompilationUnit, element: Dict, name: str, getter: str +) -> TARGET_TYPE: scope = compilation_unit.get_scope(element["source_mapping"]["filename_absolute"]) contract_name = element["type_specific_fields"]["parent"]["name"] contract = scope.get_contract_from_name(contract_name) @@ -218,9 +229,13 @@ def _get_from_contract(compilation_unit: SlitherCompilationUnit, element, name, ################################################################################### -def _patch(compilation_unit: SlitherCompilationUnit, result, element, _target): +def _patch( + compilation_unit: SlitherCompilationUnit, result: Dict, element: Dict, _target: str +) -> None: scope = compilation_unit.get_scope(element["source_mapping"]["filename_absolute"]) + target: Optional[TARGET_TYPE] = None + if _target == "contract": target = scope.get_contract_from_name(element["name"]) @@ -257,7 +272,9 @@ def _patch(compilation_unit: SlitherCompilationUnit, result, element, _target): ] param_name = element["name"] contract = scope.get_contract_from_name(contract_name) + assert contract function = contract.get_function_from_full_name(function_sig) + assert function target = function.get_local_variable_from_name(param_name) elif _target in ["variable", "variable_constant"]: @@ -271,7 +288,9 @@ def _patch(compilation_unit: SlitherCompilationUnit, result, element, _target): ] var_name = element["name"] contract = scope.get_contract_from_name(contract_name) + assert contract function = contract.get_function_from_full_name(function_sig) + assert function target = function.get_local_variable_from_name(var_name) # State variable else: @@ -287,6 +306,7 @@ def _patch(compilation_unit: SlitherCompilationUnit, result, element, _target): else: raise FormatError("Unknown naming convention! " + _target) + assert target _explore( compilation_unit, result, target, conventions[element["additional_fields"]["convention"]] ) @@ -310,7 +330,7 @@ RE_MAPPING = ( ) -def _is_var_declaration(slither, filename, start): +def _is_var_declaration(slither: SlitherCompilationUnit, filename: str, start: int) -> bool: """ Detect usage of 'var ' for Solidity < 0.5 :param slither: @@ -319,12 +339,19 @@ def _is_var_declaration(slither, filename, start): :return: """ v = "var " - return slither.source_code[filename][start : start + len(v)] == v + return slither.core.source_code[filename][start : start + len(v)] == v def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-many-branches - slither, result, target, convert, custom_type, filename_source_code, start, end -): + slither: SlitherCompilationUnit, + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, + custom_type: Optional[Union[Type, List[Type]]], + filename_source_code: str, + start: int, + end: int, +) -> None: if isinstance(custom_type, UserDefinedType): # Patch type based on contract/enum if isinstance(custom_type.type, (Enum, Contract)): @@ -358,7 +385,7 @@ def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-man # Structure contain a list of elements, that might need patching # .elems return a list of VariableStructure _explore_variables_declaration( - slither, custom_type.type.elems.values(), result, target, convert + slither, list(custom_type.type.elems.values()), result, target, convert ) if isinstance(custom_type, MappingType): @@ -377,7 +404,7 @@ def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-man full_txt_start = start full_txt_end = end - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] re_match = re.match(RE_MAPPING, full_txt) @@ -417,14 +444,19 @@ def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-man def _explore_variables_declaration( # pylint: disable=too-many-arguments,too-many-locals,too-many-nested-blocks - slither, variables, result, target, convert, patch_comment=False -): + slither: SlitherCompilationUnit, + variables: Sequence[Variable], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, + patch_comment: bool = False, +) -> None: for variable in variables: # First explore the type of the variable filename_source_code = variable.source_mapping.filename.absolute full_txt_start = variable.source_mapping.start full_txt_end = full_txt_start + variable.source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -442,6 +474,8 @@ def _explore_variables_declaration( # pylint: disable=too-many-arguments,too-ma # If the variable is the target if variable == target: old_str = variable.name + if old_str is None: + old_str = "" new_str = convert(old_str, slither) loc_start = full_txt_start + full_txt.find(old_str.encode("utf8")) @@ -458,10 +492,10 @@ def _explore_variables_declaration( # pylint: disable=too-many-arguments,too-ma idx = len(func.parameters) - func.parameters.index(variable) + 1 first_line = end_line - idx - 2 - potential_comments = slither.source_code[filename_source_code].encode( + potential_comments_ = slither.core.source_code[filename_source_code].encode( "utf8" ) - potential_comments = potential_comments.splitlines(keepends=True)[ + potential_comments = potential_comments_.splitlines(keepends=True)[ first_line : end_line - 1 ] @@ -491,10 +525,16 @@ def _explore_variables_declaration( # pylint: disable=too-many-arguments,too-ma idx_beginning += len(line) -def _explore_structures_declaration(slither, structures, result, target, convert): +def _explore_structures_declaration( + slither: SlitherCompilationUnit, + structures: Sequence[Structure], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: for st in structures: # Explore the variable declared within the structure (VariableStructure) - _explore_variables_declaration(slither, st.elems.values(), result, target, convert) + _explore_variables_declaration(slither, list(st.elems.values()), result, target, convert) # If the structure is the target if st == target: @@ -504,7 +544,7 @@ def _explore_structures_declaration(slither, structures, result, target, convert filename_source_code = st.source_mapping.filename.absolute full_txt_start = st.source_mapping.start full_txt_end = full_txt_start + st.source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -517,7 +557,13 @@ def _explore_structures_declaration(slither, structures, result, target, convert create_patch(result, filename_source_code, loc_start, loc_end, old_str, new_str) -def _explore_events_declaration(slither, events, result, target, convert): +def _explore_events_declaration( + slither: SlitherCompilationUnit, + events: Sequence[Event], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: for event in events: # Explore the parameters _explore_variables_declaration(slither, event.elems, result, target, convert) @@ -535,7 +581,7 @@ def _explore_events_declaration(slither, events, result, target, convert): create_patch(result, filename_source_code, loc_start, loc_end, old_str, new_str) -def get_ir_variables(ir): +def get_ir_variables(ir: Operation) -> List[Union[Variable, Function]]: all_vars = ir.read if isinstance(ir, (InternalCall, InternalDynamicCall, HighLevelCall)): @@ -553,9 +599,15 @@ def get_ir_variables(ir): return [v for v in all_vars if v] -def _explore_irs(slither, irs: List[Operation], result, target, convert): +def _explore_irs( + slither: SlitherCompilationUnit, + irs: List[Operation], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: # pylint: disable=too-many-locals - if irs is None: + if not irs: return for ir in irs: for v in get_ir_variables(ir): @@ -568,7 +620,7 @@ def _explore_irs(slither, irs: List[Operation], result, target, convert): filename_source_code = source_mapping.filename.absolute full_txt_start = source_mapping.start full_txt_end = full_txt_start + source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -600,7 +652,13 @@ def _explore_irs(slither, irs: List[Operation], result, target, convert): ) -def _explore_functions(slither, functions, result, target, convert): +def _explore_functions( + slither: SlitherCompilationUnit, + functions: List[Function], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: for function in functions: _explore_variables_declaration(slither, function.variables, result, target, convert, True) _explore_irs(slither, function.all_slithir_operations(), result, target, convert) @@ -612,7 +670,7 @@ def _explore_functions(slither, functions, result, target, convert): filename_source_code = function.source_mapping.filename.absolute full_txt_start = function.source_mapping.start full_txt_end = full_txt_start + function.source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -628,7 +686,13 @@ def _explore_functions(slither, functions, result, target, convert): create_patch(result, filename_source_code, loc_start, loc_end, old_str, new_str) -def _explore_enums(slither, enums, result, target, convert): +def _explore_enums( + slither: SlitherCompilationUnit, + enums: Sequence[Enum], + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: for enum in enums: if enum == target: old_str = enum.name @@ -637,7 +701,7 @@ def _explore_enums(slither, enums, result, target, convert): filename_source_code = enum.source_mapping.filename.absolute full_txt_start = enum.source_mapping.start full_txt_end = full_txt_start + enum.source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -650,7 +714,13 @@ def _explore_enums(slither, enums, result, target, convert): create_patch(result, filename_source_code, loc_start, loc_end, old_str, new_str) -def _explore_contract(slither, contract, result, target, convert): +def _explore_contract( + slither: SlitherCompilationUnit, + contract: Contract, + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: _explore_variables_declaration(slither, contract.state_variables, result, target, convert) _explore_structures_declaration(slither, contract.structures, result, target, convert) _explore_functions(slither, contract.functions_and_modifiers, result, target, convert) @@ -660,7 +730,7 @@ def _explore_contract(slither, contract, result, target, convert): filename_source_code = contract.source_mapping.filename.absolute full_txt_start = contract.source_mapping.start full_txt_end = full_txt_start + contract.source_mapping.length - full_txt = slither.source_code[filename_source_code].encode("utf8")[ + full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ full_txt_start:full_txt_end ] @@ -677,7 +747,12 @@ def _explore_contract(slither, contract, result, target, convert): create_patch(result, filename_source_code, loc_start, loc_end, old_str, new_str) -def _explore(compilation_unit: SlitherCompilationUnit, result, target, convert): +def _explore( + compilation_unit: SlitherCompilationUnit, + result: Dict, + target: TARGET_TYPE, + convert: CONVENTION_F_TYPE, +) -> None: for contract in compilation_unit.contracts_derived: _explore_contract(compilation_unit, contract, result, target, convert) diff --git a/slither/formatters/variables/unused_state_variables.py b/slither/formatters/variables/unused_state_variables.py index 8e0852a17..90009c7f1 100644 --- a/slither/formatters/variables/unused_state_variables.py +++ b/slither/formatters/variables/unused_state_variables.py @@ -1,8 +1,10 @@ +from typing import Dict + from slither.core.compilation_unit import SlitherCompilationUnit from slither.formatters.utils.patches import create_patch -def custom_format(compilation_unit: SlitherCompilationUnit, result): +def custom_format(compilation_unit: SlitherCompilationUnit, result: Dict) -> None: elements = result["elements"] for element in elements: if element["type"] == "variable": @@ -14,7 +16,9 @@ def custom_format(compilation_unit: SlitherCompilationUnit, result): ) -def _patch(compilation_unit: SlitherCompilationUnit, result, in_file, modify_loc_start): +def _patch( + compilation_unit: SlitherCompilationUnit, result: Dict, in_file: str, modify_loc_start: int +) -> None: in_file_str = compilation_unit.core.source_code[in_file].encode("utf8") old_str_of_interest = in_file_str[modify_loc_start:] old_str = ( diff --git a/slither/printers/call/call_graph.py b/slither/printers/call/call_graph.py index e10db3f76..38225e6d7 100644 --- a/slither/printers/call/call_graph.py +++ b/slither/printers/call/call_graph.py @@ -6,33 +6,37 @@ The output is a dot file named filename.dot """ from collections import defaultdict -from slither.printers.abstract_printer import AbstractPrinter -from slither.core.declarations.solidity_variables import SolidityFunction +from typing import Optional, Union, Dict, Set, Tuple, Sequence + +from slither.core.declarations import Contract, FunctionContract from slither.core.declarations.function import Function +from slither.core.declarations.solidity_variables import SolidityFunction from slither.core.variables.variable import Variable +from slither.printers.abstract_printer import AbstractPrinter +from slither.utils.output import Output -def _contract_subgraph(contract): +def _contract_subgraph(contract: Contract) -> str: return f"cluster_{contract.id}_{contract.name}" # return unique id for contract function to use as node name -def _function_node(contract, function): +def _function_node(contract: Contract, function: Union[Function, Variable]) -> str: return f"{contract.id}_{function.name}" # return unique id for solidity function to use as node name -def _solidity_function_node(solidity_function): +def _solidity_function_node(solidity_function: SolidityFunction) -> str: return f"{solidity_function.name}" # return dot language string to add graph edge -def _edge(from_node, to_node): +def _edge(from_node: str, to_node: str) -> str: return f'"{from_node}" -> "{to_node}"' # return dot language string to add graph node (with optional label) -def _node(node, label=None): +def _node(node: str, label: Optional[str] = None) -> str: return " ".join( ( f'"{node}"', @@ -43,13 +47,13 @@ def _node(node, label=None): # pylint: disable=too-many-arguments def _process_internal_call( - contract, - function, - internal_call, - contract_calls, - solidity_functions, - solidity_calls, -): + contract: Contract, + function: Function, + internal_call: Union[Function, SolidityFunction], + contract_calls: Dict[Contract, Set[str]], + solidity_functions: Set[str], + solidity_calls: Set[str], +) -> None: if isinstance(internal_call, (Function)): contract_calls[contract].add( _edge( @@ -69,11 +73,15 @@ def _process_internal_call( ) -def _render_external_calls(external_calls): +def _render_external_calls(external_calls: Set[str]) -> str: return "\n".join(external_calls) -def _render_internal_calls(contract, contract_functions, contract_calls): +def _render_internal_calls( + contract: Contract, + contract_functions: Dict[Contract, Set[str]], + contract_calls: Dict[Contract, Set[str]], +) -> str: lines = [] lines.append(f"subgraph {_contract_subgraph(contract)} {{") @@ -87,7 +95,7 @@ def _render_internal_calls(contract, contract_functions, contract_calls): return "\n".join(lines) -def _render_solidity_calls(solidity_functions, solidity_calls): +def _render_solidity_calls(solidity_functions: Set[str], solidity_calls: Set[str]) -> str: lines = [] lines.append("subgraph cluster_solidity {") @@ -102,13 +110,13 @@ def _render_solidity_calls(solidity_functions, solidity_calls): def _process_external_call( - contract, - function, - external_call, - contract_functions, - external_calls, - all_contracts, -): + contract: Contract, + function: Function, + external_call: Tuple[Contract, Union[Function, Variable]], + contract_functions: Dict[Contract, Set[str]], + external_calls: Set[str], + all_contracts: Set[Contract], +) -> None: external_contract, external_function = external_call if not external_contract in all_contracts: @@ -133,15 +141,15 @@ def _process_external_call( # pylint: disable=too-many-arguments def _process_function( - contract, - function, - contract_functions, - contract_calls, - solidity_functions, - solidity_calls, - external_calls, - all_contracts, -): + contract: Contract, + function: Function, + contract_functions: Dict[Contract, Set[str]], + contract_calls: Dict[Contract, Set[str]], + solidity_functions: Set[str], + solidity_calls: Set[str], + external_calls: Set[str], + all_contracts: Set[Contract], +) -> None: contract_functions[contract].add( _node(_function_node(contract, function), function.name), ) @@ -166,29 +174,35 @@ def _process_function( ) -def _process_functions(functions): - contract_functions = defaultdict(set) # contract -> contract functions nodes - contract_calls = defaultdict(set) # contract -> contract calls edges +def _process_functions(functions: Sequence[Function]) -> str: + # TODO add support for top level function + + contract_functions: Dict[Contract, Set[str]] = defaultdict( + set + ) # contract -> contract functions nodes + contract_calls: Dict[Contract, Set[str]] = defaultdict(set) # contract -> contract calls edges - solidity_functions = set() # solidity function nodes - solidity_calls = set() # solidity calls edges - external_calls = set() # external calls edges + solidity_functions: Set[str] = set() # solidity function nodes + solidity_calls: Set[str] = set() # solidity calls edges + external_calls: Set[str] = set() # external calls edges all_contracts = set() for function in functions: - all_contracts.add(function.contract_declarer) + if isinstance(function, FunctionContract): + all_contracts.add(function.contract_declarer) for function in functions: - _process_function( - function.contract_declarer, - function, - contract_functions, - contract_calls, - solidity_functions, - solidity_calls, - external_calls, - all_contracts, - ) + if isinstance(function, FunctionContract): + _process_function( + function.contract_declarer, + function, + contract_functions, + contract_calls, + solidity_functions, + solidity_calls, + external_calls, + all_contracts, + ) render_internal_calls = "" for contract in all_contracts: @@ -209,7 +223,7 @@ class PrinterCallGraph(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#call-graph" - def output(self, filename): + def output(self, filename: str) -> Output: """ Output the graph in filename Args: @@ -241,7 +255,9 @@ class PrinterCallGraph(AbstractPrinter): function.canonical_name: function for function in all_functions } content = "\n".join( - ["strict digraph {"] + [_process_functions(all_functions_as_dict.values())] + ["}"] + ["strict digraph {"] + + [_process_functions(list(all_functions_as_dict.values()))] + + ["}"] ) f.write(content) results.append((all_contracts_filename, content)) diff --git a/slither/printers/functions/authorization.py b/slither/printers/functions/authorization.py index ab61d354e..32efeaabe 100644 --- a/slither/printers/functions/authorization.py +++ b/slither/printers/functions/authorization.py @@ -1,10 +1,12 @@ """ Module printing summary of the contract """ +from typing import List from slither.printers.abstract_printer import AbstractPrinter from slither.core.declarations.function import Function from slither.utils.myprettytable import MyPrettyTable +from slither.utils.output import Output class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): @@ -15,11 +17,15 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#variables-written-and-authorization" @staticmethod - def get_msg_sender_checks(function): - all_functions = function.all_internal_calls() + [function] + function.modifiers + def get_msg_sender_checks(function: Function) -> List[str]: + all_functions = ( + [f for f in function.all_internal_calls() if isinstance(f, Function)] + + [function] + + [m for m in function.modifiers if isinstance(m, Function)] + ) - all_nodes = [f.nodes for f in all_functions if isinstance(f, Function)] - all_nodes = [item for sublist in all_nodes for item in sublist] + all_nodes_ = [f.nodes for f in all_functions] + all_nodes = [item for sublist in all_nodes_ for item in sublist] all_conditional_nodes = [ n for n in all_nodes if n.contains_if() or n.contains_require_or_assert() @@ -31,7 +37,7 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): ] return all_conditional_nodes_on_msg_sender - def output(self, _filename): + def output(self, _filename: str) -> Output: """ _filename is not used Args: @@ -40,16 +46,16 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): txt = "" all_tables = [] - for contract in self.contracts: - if contract.is_top_level: - continue + for contract in self.contracts: # type: ignore txt += f"\nContract {contract.name}\n" table = MyPrettyTable( ["Function", "State variables written", "Conditions on msg.sender"] ) for function in contract.functions: - state_variables_written = [v.name for v in function.all_state_variables_written()] + state_variables_written = [ + v.name for v in function.all_state_variables_written() if v.name + ] msg_sender_condition = self.get_msg_sender_checks(function) table.add_row( [ diff --git a/slither/printers/functions/cfg.py b/slither/printers/functions/cfg.py index 03e010ff4..00804a34d 100644 --- a/slither/printers/functions/cfg.py +++ b/slither/printers/functions/cfg.py @@ -1,4 +1,5 @@ from slither.printers.abstract_printer import AbstractPrinter +from slither.utils.output import Output class CFG(AbstractPrinter): @@ -8,7 +9,7 @@ class CFG(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#cfg" - def output(self, filename): + def output(self, filename: str) -> Output: """ _filename is not used Args: @@ -17,10 +18,8 @@ class CFG(AbstractPrinter): info = "" all_files = [] - for contract in self.contracts: - if contract.is_top_level: - continue - for function in contract.functions + contract.modifiers: + for contract in self.contracts: # type: ignore + for function in contract.functions + list(contract.modifiers): if filename: new_filename = f"{filename}-{contract.name}-{function.full_name}.dot" else: diff --git a/slither/printers/functions/dominator.py b/slither/printers/functions/dominator.py index f618fd5db..1b32498f9 100644 --- a/slither/printers/functions/dominator.py +++ b/slither/printers/functions/dominator.py @@ -1,4 +1,5 @@ from slither.printers.abstract_printer import AbstractPrinter +from slither.utils.output import Output class Dominator(AbstractPrinter): @@ -8,7 +9,7 @@ class Dominator(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#dominator" - def output(self, filename): + def output(self, filename: str) -> Output: """ _filename is not used Args: diff --git a/slither/printers/guidance/echidna.py b/slither/printers/guidance/echidna.py index b160dd0e6..acbf5b015 100644 --- a/slither/printers/guidance/echidna.py +++ b/slither/printers/guidance/echidna.py @@ -80,7 +80,7 @@ def _is_constant(f: Function) -> bool: # pylint: disable=too-many-branches :return: """ if f.view or f.pure: - if not f.contract.compilation_unit.solc_version.startswith("0.4"): + if not f.compilation_unit.solc_version.startswith("0.4"): return True if f.payable: return False @@ -103,11 +103,11 @@ def _is_constant(f: Function) -> bool: # pylint: disable=too-many-branches if isinstance(ir, HighLevelCall): if isinstance(ir.function, Variable) or ir.function.view or ir.function.pure: # External call to constant functions are ensured to be constant only for solidity >= 0.5 - if f.contract.compilation_unit.solc_version.startswith("0.4"): + if f.compilation_unit.solc_version.startswith("0.4"): return False else: return False - if isinstance(ir, InternalCall): + if isinstance(ir, InternalCall) and ir.function: # Storage write are not properly handled by all_state_variables_written if any(parameter.is_storage for parameter in ir.function.parameters): return False diff --git a/slither/printers/inheritance/inheritance.py b/slither/printers/inheritance/inheritance.py index 08c05f95f..4ef961a5a 100644 --- a/slither/printers/inheritance/inheritance.py +++ b/slither/printers/inheritance/inheritance.py @@ -36,8 +36,6 @@ class PrinterInheritance(AbstractPrinter): result = {"child_to_base": {}} for child in self.contracts: - if child.is_top_level: - continue info += blue(f"\n+ {child.name}\n") result["child_to_base"][child.name] = {"immediate": [], "not_immediate": []} if child.inheritance: @@ -58,8 +56,6 @@ class PrinterInheritance(AbstractPrinter): result["base_to_child"] = {} for base in self.contracts: - if base.is_top_level: - continue info += green(f"\n+ {base.name}") + "\n" children = list(self._get_child_contracts(base)) diff --git a/slither/printers/inheritance/inheritance_graph.py b/slither/printers/inheritance/inheritance_graph.py index 2ec9dee1a..95022c067 100644 --- a/slither/printers/inheritance/inheritance_graph.py +++ b/slither/printers/inheritance/inheritance_graph.py @@ -194,8 +194,6 @@ class PrinterInheritanceGraph(AbstractPrinter): content = 'digraph "" {\n' for c in self.contracts: - if c.is_top_level: - continue content += self._summary(c) + "\n" content += "}" diff --git a/slither/printers/summary/constructor_calls.py b/slither/printers/summary/constructor_calls.py index 665c76546..789811c36 100644 --- a/slither/printers/summary/constructor_calls.py +++ b/slither/printers/summary/constructor_calls.py @@ -5,6 +5,7 @@ from slither.core.declarations import Function from slither.core.source_mapping.source_mapping import Source from slither.printers.abstract_printer import AbstractPrinter from slither.utils import output +from slither.utils.output import Output def _get_source_code(cst: Function) -> str: @@ -17,7 +18,7 @@ class ConstructorPrinter(AbstractPrinter): ARGUMENT = "constructor-calls" HELP = "Print the constructors executed" - def output(self, _filename): + def output(self, _filename: str) -> Output: info = "" for contract in self.slither.contracts_derived: stack_name = [] diff --git a/slither/printers/summary/contract.py b/slither/printers/summary/contract.py index 5af953e20..3980c63fc 100644 --- a/slither/printers/summary/contract.py +++ b/slither/printers/summary/contract.py @@ -2,9 +2,13 @@ Module printing summary of the contract """ import collections +from typing import Dict, List + +from slither.core.declarations import FunctionContract from slither.printers.abstract_printer import AbstractPrinter from slither.utils import output from slither.utils.colors import blue, green, magenta +from slither.utils.output import Output class ContractSummary(AbstractPrinter): @@ -13,7 +17,7 @@ class ContractSummary(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#contract-summary" - def output(self, _filename): # pylint: disable=too-many-locals + def output(self, _filename: str) -> Output: # pylint: disable=too-many-locals """ _filename is not used Args: @@ -24,9 +28,6 @@ class ContractSummary(AbstractPrinter): all_contracts = [] for c in self.contracts: - if c.is_top_level: - continue - is_upgradeable_proxy = c.is_upgradeable_proxy is_upgradeable = c.is_upgradeable @@ -53,17 +54,16 @@ class ContractSummary(AbstractPrinter): # Order the function with # contract_declarer -> list_functions - public = [ + public_function = [ (f.contract_declarer.name, f) for f in c.functions if (not f.is_shadowed and not f.is_constructor_variables) ] - collect = collections.defaultdict(list) - for a, b in public: + collect: Dict[str, List[FunctionContract]] = collections.defaultdict(list) + for a, b in public_function: collect[a].append(b) - public = list(collect.items()) - for contract, functions in public: + for contract, functions in collect.items(): txt += blue(f" - From {contract}\n") functions = sorted(functions, key=lambda f: f.full_name) @@ -90,7 +90,7 @@ class ContractSummary(AbstractPrinter): self.info(txt) res = self.generate_output(txt) - for contract, additional_fields in all_contracts: - res.add(contract, additional_fields=additional_fields) + for current_contract, current_additional_fields in all_contracts: + res.add(current_contract, additional_fields=current_additional_fields) return res diff --git a/slither/printers/summary/data_depenency.py b/slither/printers/summary/data_depenency.py index 41659a299..864652978 100644 --- a/slither/printers/summary/data_depenency.py +++ b/slither/printers/summary/data_depenency.py @@ -1,19 +1,22 @@ """ Module printing summary of the contract """ +from typing import List +from slither.core.declarations import Contract from slither.printers.abstract_printer import AbstractPrinter -from slither.analyses.data_dependency.data_dependency import get_dependencies +from slither.analyses.data_dependency.data_dependency import get_dependencies, SUPPORTED_TYPES from slither.slithir.variables import TemporaryVariable, ReferenceVariable from slither.utils.myprettytable import MyPrettyTable +from slither.utils.output import Output -def _get(v, c): +def _get(v: SUPPORTED_TYPES, c: Contract) -> List[str]: return list( { d.name for d in get_dependencies(v, c) - if not isinstance(d, (TemporaryVariable, ReferenceVariable)) + if not isinstance(d, (TemporaryVariable, ReferenceVariable)) and d.name } ) @@ -25,7 +28,7 @@ class DataDependency(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#data-dependencies" - def output(self, _filename): + def output(self, _filename: str) -> Output: """ _filename is not used Args: @@ -37,11 +40,10 @@ class DataDependency(AbstractPrinter): txt = "" for c in self.contracts: - if c.is_top_level: - continue txt += f"\nContract {c.name}\n" table = MyPrettyTable(["Variable", "Dependencies"]) for v in c.state_variables: + assert v.name table.add_row([v.name, sorted(_get(v, c))]) txt += str(table) diff --git a/slither/printers/summary/declaration.py b/slither/printers/summary/declaration.py index 529aba5f0..c7c4798d5 100644 --- a/slither/printers/summary/declaration.py +++ b/slither/printers/summary/declaration.py @@ -1,4 +1,5 @@ from slither.printers.abstract_printer import AbstractPrinter +from slither.utils.output import Output from slither.utils.source_mapping import get_definition, get_implementation, get_references @@ -8,7 +9,7 @@ class Declaration(AbstractPrinter): WIKI = "TODO" - def output(self, _filename): + def output(self, _filename: str) -> Output: """ _filename is not used Args: diff --git a/slither/printers/summary/function.py b/slither/printers/summary/function.py index 7f1633865..232980425 100644 --- a/slither/printers/summary/function.py +++ b/slither/printers/summary/function.py @@ -33,8 +33,6 @@ class FunctionSummary(AbstractPrinter): all_txt = "" for c in self.contracts: - if c.is_top_level: - continue (name, inheritance, var, func_summaries, modif_summaries) = c.get_summary() txt = f"\nContract {name}" txt += "\nContract vars: " + str(var) diff --git a/slither/printers/summary/human_summary.py b/slither/printers/summary/human_summary.py index ec8663198..9eacb97c6 100644 --- a/slither/printers/summary/human_summary.py +++ b/slither/printers/summary/human_summary.py @@ -205,7 +205,7 @@ class PrinterHumanSummary(AbstractPrinter): def _number_contracts(self): if self.slither.crytic_compile is None: return len(self.slither.contracts), 0, 0 - contracts = [c for c in self.slither.contracts if not c.is_top_level] + contracts = self.slither.contracts deps = [c for c in contracts if c.is_from_dependency()] tests = [c for c in contracts if c.is_test] return len(contracts) - len(deps) - len(tests), len(deps), len(tests) diff --git a/slither/printers/summary/slithir.py b/slither/printers/summary/slithir.py index be9ebc8f5..cbdb50dcc 100644 --- a/slither/printers/summary/slithir.py +++ b/slither/printers/summary/slithir.py @@ -36,8 +36,6 @@ class PrinterSlithIR(AbstractPrinter): txt = "" for compilation_unit in self.slither.compilation_units: for contract in compilation_unit.contracts: - if contract.is_top_level: - continue txt += f"Contract {contract.name}\n" for function in contract.functions: txt += f'\tFunction {function.canonical_name} {"" if function.is_shadowed else "(*)"}\n' diff --git a/slither/printers/summary/slithir_ssa.py b/slither/printers/summary/slithir_ssa.py index e7f2ca1e3..052597299 100644 --- a/slither/printers/summary/slithir_ssa.py +++ b/slither/printers/summary/slithir_ssa.py @@ -21,8 +21,6 @@ class PrinterSlithIRSSA(AbstractPrinter): txt = "" for contract in self.contracts: - if contract.is_top_level: - continue txt += f"Contract {contract.name}" + "\n" for function in contract.functions: txt += f"\tFunction {function.canonical_name}" + "\n" diff --git a/slither/printers/summary/variable_order.py b/slither/printers/summary/variable_order.py index 9dc9e77c2..3325b7a01 100644 --- a/slither/printers/summary/variable_order.py +++ b/slither/printers/summary/variable_order.py @@ -4,6 +4,7 @@ from slither.printers.abstract_printer import AbstractPrinter from slither.utils.myprettytable import MyPrettyTable +from slither.utils.output import Output class VariableOrder(AbstractPrinter): @@ -13,7 +14,7 @@ class VariableOrder(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#variable-order" - def output(self, _filename): + def output(self, _filename: str) -> Output: """ _filename is not used Args: diff --git a/slither/printers/summary/when_not_paused.py b/slither/printers/summary/when_not_paused.py index d8a57b6c7..aaeeeacec 100644 --- a/slither/printers/summary/when_not_paused.py +++ b/slither/printers/summary/when_not_paused.py @@ -10,8 +10,6 @@ from slither.utils.myprettytable import MyPrettyTable def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> bool: - if function.is_constructor or function.view or function.pure: - return False for internal_call in function.all_internal_calls(): if isinstance(internal_call, SolidityFunction): @@ -23,7 +21,7 @@ def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> b class PrinterWhenNotPaused(AbstractPrinter): - ARGUMENT = "pausable" + ARGUMENT = "not-pausable" HELP = "Print functions that do not use whenNotPaused" WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#when-not-paused" @@ -46,6 +44,8 @@ class PrinterWhenNotPaused(AbstractPrinter): table = MyPrettyTable(["Name", "Use whenNotPaused"]) for function in contract.functions_entry_points: + if function.is_constructor or function.view or function.pure: + continue status = "X" if _use_modifier(function, modifier_name) else "" table.add_row([function.solidity_signature, status]) diff --git a/slither/slithir/convert.py b/slither/slithir/convert.py index 9657e2317..3cfddf5e6 100644 --- a/slither/slithir/convert.py +++ b/slither/slithir/convert.py @@ -1,6 +1,6 @@ import logging from pathlib import Path -from typing import Any, List, TYPE_CHECKING, Union, Optional +from typing import Any, List, TYPE_CHECKING, Union, Optional, Dict # pylint: disable= too-many-lines,import-outside-toplevel,too-many-branches,too-many-statements,too-many-nested-blocks from slither.core.declarations import ( @@ -13,12 +13,14 @@ from slither.core.declarations import ( SolidityVariableComposed, Structure, ) +from slither.core.declarations.contract import USING_FOR_KEY, USING_FOR_ITEM from slither.core.declarations.custom_error import CustomError from slither.core.declarations.function_contract import FunctionContract from slither.core.declarations.function_top_level import FunctionTopLevel from slither.core.declarations.solidity_import_placeholder import SolidityImportPlaceHolder from slither.core.declarations.solidity_variables import SolidityCustomRevert from slither.core.expressions import Identifier, Literal +from slither.core.expressions.expression import Expression from slither.core.solidity_types import ( ArrayType, ElementaryType, @@ -83,28 +85,6 @@ from slither.slithir.variables import TupleVariable from slither.utils.function import get_function_id from slither.utils.type import export_nested_types_from_variable from slither.visitors.slithir.expression_to_slithir import ExpressionToSlithIR -import slither.core.declarations.contract -import slither.core.declarations.function -import slither.core.solidity_types.elementary_type -import slither.core.solidity_types.function_type -import slither.core.solidity_types.user_defined_type -import slither.slithir.operations.assignment -import slither.slithir.operations.binary -import slither.slithir.operations.call -import slither.slithir.operations.high_level_call -import slither.slithir.operations.index -import slither.slithir.operations.init_array -import slither.slithir.operations.internal_call -import slither.slithir.operations.length -import slither.slithir.operations.library_call -import slither.slithir.operations.low_level_call -import slither.slithir.operations.member -import slither.slithir.operations.operation -import slither.slithir.operations.send -import slither.slithir.operations.solidity_call -import slither.slithir.operations.transfer -import slither.slithir.variables.temporary -from slither.core.expressions.expression import Expression if TYPE_CHECKING: from slither.core.cfg.node import Node @@ -112,7 +92,7 @@ if TYPE_CHECKING: logger = logging.getLogger("ConvertToIR") -def convert_expression(expression: Expression, node: "Node") -> List[Any]: +def convert_expression(expression: Expression, node: "Node") -> List[Operation]: # handle standlone expression # such as return true; from slither.core.cfg.node import NodeType @@ -122,8 +102,7 @@ def convert_expression(expression: Expression, node: "Node") -> List[Any]: cond = Condition(cst) cond.set_expression(expression) cond.set_node(node) - result = [cond] - return result + return [cond] if isinstance(expression, Identifier) and node.type in [ NodeType.IF, NodeType.IFLOOP, @@ -131,8 +110,7 @@ def convert_expression(expression: Expression, node: "Node") -> List[Any]: cond = Condition(expression.value) cond.set_expression(expression) cond.set_node(node) - result = [cond] - return result + return [cond] visitor = ExpressionToSlithIR(expression, node) result = visitor.result() @@ -141,15 +119,17 @@ def convert_expression(expression: Expression, node: "Node") -> List[Any]: if result: if node.type in [NodeType.IF, NodeType.IFLOOP]: - assert isinstance(result[-1], (OperationWithLValue)) - cond = Condition(result[-1].lvalue) + prev = result[-1] + assert isinstance(prev, (OperationWithLValue)) and prev.lvalue + cond = Condition(prev.lvalue) cond.set_expression(expression) cond.set_node(node) result.append(cond) elif node.type == NodeType.RETURN: # May return None - if isinstance(result[-1], (OperationWithLValue)): - r = Return(result[-1].lvalue) + prev = result[-1] + if isinstance(prev, (OperationWithLValue)): + r = Return(prev.lvalue) r.set_expression(expression) r.set_node(node) result.append(r) @@ -273,7 +253,7 @@ def _find_function_from_parameter( type_args += ["string"] not_found = True - candidates_kept = [] + candidates_kept: List[Function] = [] for type_arg in type_args: if not not_found: break @@ -336,7 +316,7 @@ def integrate_value_gas(result: List[Operation]) -> List[Operation]: # Find all the assignments assigments = {} for i in result: - if isinstance(i, OperationWithLValue): + if isinstance(i, OperationWithLValue) and i.lvalue: assigments[i.lvalue.name] = i if isinstance(i, TmpCall): if isinstance(i.called, Variable) and i.called.name in assigments: @@ -350,20 +330,25 @@ def integrate_value_gas(result: List[Operation]) -> List[Operation]: for idx, ins in enumerate(result): # value can be shadowed, so we check that the prev ins # is an Argument - if is_value(ins) and isinstance(result[idx - 1], Argument): + if idx == 0: + continue + prev_ins = result[idx - 1] + if is_value(ins) and isinstance(prev_ins, Argument): was_changed = True - result[idx - 1].set_type(ArgumentType.VALUE) - result[idx - 1].call_id = ins.ori.variable_left.name - calls.append(ins.ori.variable_left) + prev_ins.set_type(ArgumentType.VALUE) + # Types checked by is_value + prev_ins.call_id = ins.ori.variable_left.name # type: ignore + calls.append(ins.ori.variable_left) # type: ignore to_remove.append(ins) - variable_to_replace[ins.lvalue.name] = ins.ori.variable_left - elif is_gas(ins) and isinstance(result[idx - 1], Argument): + variable_to_replace[ins.lvalue.name] = ins.ori.variable_left # type: ignore + elif is_gas(ins) and isinstance(prev_ins, Argument): was_changed = True - result[idx - 1].set_type(ArgumentType.GAS) - result[idx - 1].call_id = ins.ori.variable_left.name - calls.append(ins.ori.variable_left) + prev_ins.set_type(ArgumentType.GAS) + # Types checked by is_gas + prev_ins.call_id = ins.ori.variable_left.name # type: ignore + calls.append(ins.ori.variable_left) # type: ignore to_remove.append(ins) - variable_to_replace[ins.lvalue.name] = ins.ori.variable_left + variable_to_replace[ins.lvalue.name] = ins.ori.variable_left # type: ignore # Remove the call to value/gas instruction result = [i for i in result if not i in to_remove] @@ -446,7 +431,7 @@ def propagate_type_and_convert_call(result: List[Operation], node: "Node") -> Li if isinstance(ins, (HighLevelCall, NewContract, InternalDynamicCall)): if ins.call_id in calls_value: ins.call_value = calls_value[ins.call_id] - if ins.call_id in calls_gas: + if ins.call_id in calls_gas and isinstance(ins, (HighLevelCall, InternalDynamicCall)): ins.call_gas = calls_gas[ins.call_id] if isinstance(ins, (Call, NewContract, NewStructure)): @@ -528,12 +513,12 @@ def _convert_type_contract(ir: Member) -> Assignment: def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-locals # propagate the type node_function = node.function - using_for = ( + using_for: Dict[USING_FOR_KEY, USING_FOR_ITEM] = ( node_function.contract.using_for_complete if isinstance(node_function, FunctionContract) else {} ) - if isinstance(ir, OperationWithLValue): + if isinstance(ir, OperationWithLValue) and ir.lvalue: # Force assignment in case of missing previous correct type if not ir.lvalue.type: if isinstance(ir, Assignment): @@ -644,11 +629,12 @@ def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-lo and not isinstance(ir.variable_left, Contract) and isinstance(ir.variable_left.type, (ElementaryType, ArrayType)) ): - length = Length(ir.variable_left, ir.lvalue) - length.set_expression(ir.expression) - length.lvalue.points_to = ir.variable_left - length.set_node(ir.node) - return length + new_length = Length(ir.variable_left, ir.lvalue) + assert ir.expression + new_length.set_expression(ir.expression) + new_length.lvalue.points_to = ir.variable_left + new_length.set_node(ir.node) + return new_length # This only happen for .balance/code/codehash access on a variable for which we dont know at # early parsing time the type # Like @@ -729,7 +715,7 @@ def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-lo return _convert_type_contract(ir) left = ir.variable_left t = None - ir_func = ir.function + ir_func = ir.node.function # Handling of this.function_name usage if ( left == SolidityVariable("this") @@ -792,6 +778,7 @@ def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-lo ir.lvalue.set_type(ir.array_type) elif isinstance(ir, NewContract): contract = node.file_scope.get_contract_from_name(ir.contract_name) + assert contract ir.lvalue.set_type(UserDefinedType(contract)) elif isinstance(ir, NewElementaryType): ir.lvalue.set_type(ir.type) @@ -835,9 +822,7 @@ def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-lo # pylint: disable=too-many-locals -def extract_tmp_call( - ins: TmpCall, contract: Optional[Contract] -) -> slither.slithir.operations.call.Call: +def extract_tmp_call(ins: TmpCall, contract: Optional[Contract]) -> Union[Call, Nop]: assert isinstance(ins, TmpCall) if isinstance(ins.called, Variable) and isinstance(ins.called.type, FunctionType): # If the call is made to a variable member, where the member is this @@ -1297,7 +1282,7 @@ def convert_to_push_set_val( element_to_add = ReferenceVariable(node) element_to_add.set_type(new_type) - ir_assign_element_to_add = Index(element_to_add, arr, length_val, ElementaryType("uint256")) + ir_assign_element_to_add = Index(element_to_add, arr, length_val) ir_assign_element_to_add.set_expression(ir.expression) ir_assign_element_to_add.set_node(ir.node) ret.append(ir_assign_element_to_add) @@ -1326,16 +1311,8 @@ def convert_to_push_set_val( def convert_to_push( - ir: slither.slithir.operations.high_level_call.HighLevelCall, node: "Node" -) -> List[ - Union[ - slither.slithir.operations.length.Length, - slither.slithir.operations.assignment.Assignment, - slither.slithir.operations.binary.Binary, - slither.slithir.operations.index.Index, - slither.slithir.operations.init_array.InitArray, - ] -]: + ir: HighLevelCall, node: "Node" +) -> List[Union[Length, Assignment, Binary, Index, InitArray,]]: """ Convert a call to a series of operations to push a new value onto the array @@ -1355,22 +1332,23 @@ def convert_to_push( return ret -def convert_to_pop(ir, node): +def convert_to_pop(ir: HighLevelCall, node: "Node") -> List[Operation]: """ Convert pop operators Return a list of 6 operations """ - ret = [] + ret: List[Operation] = [] arr = ir.destination length = ReferenceVariable(node) length.set_type(ElementaryType("uint256")) ir_length = Length(arr, length) + assert ir.expression ir_length.set_expression(ir.expression) ir_length.set_node(ir.node) - ir_length.lvalue.points_to = arr + length.points_to = arr ret.append(ir_length) val = TemporaryVariable(node) @@ -1381,7 +1359,9 @@ def convert_to_pop(ir, node): ret.append(ir_sub_1) element_to_delete = ReferenceVariable(node) - ir_assign_element_to_delete = Index(element_to_delete, arr, val, ElementaryType("uint256")) + ir_assign_element_to_delete = Index(element_to_delete, arr, val) + # TODO the following is equivalent to length.points_to = arr + # Should it be removed? ir_length.lvalue.points_to = arr element_to_delete.set_type(ElementaryType("uint256")) ir_assign_element_to_delete.set_expression(ir.expression) @@ -1397,7 +1377,7 @@ def convert_to_pop(ir, node): length_to_assign.set_type(ElementaryType("uint256")) ir_length = Length(arr, length_to_assign) ir_length.set_expression(ir.expression) - ir_length.lvalue.points_to = arr + length_to_assign.points_to = arr ir_length.set_node(ir.node) ret.append(ir_length) diff --git a/slither/slithir/operations/assignment.py b/slither/slithir/operations/assignment.py index 0ed5f70a4..5bedf2c85 100644 --- a/slither/slithir/operations/assignment.py +++ b/slither/slithir/operations/assignment.py @@ -1,20 +1,21 @@ import logging -from typing import List +from typing import List, Union from slither.core.declarations.function import Function +from slither.core.solidity_types import Type from slither.slithir.operations.lvalue import OperationWithLValue -from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue +from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue, RVALUE, LVALUE from slither.slithir.variables import TupleVariable, ReferenceVariable -from slither.core.source_mapping.source_mapping import SourceMapping -from slither.core.variables.variable import Variable - logger = logging.getLogger("AssignmentOperationIR") class Assignment(OperationWithLValue): def __init__( - self, left_variable: Variable, right_variable: SourceMapping, variable_return_type + self, + left_variable: LVALUE, + right_variable: Union[RVALUE, Function, TupleVariable], + variable_return_type: Type, ) -> None: assert is_valid_lvalue(left_variable) assert is_valid_rvalue(right_variable) or isinstance( @@ -22,30 +23,32 @@ class Assignment(OperationWithLValue): ) super().__init__() self._variables = [left_variable, right_variable] - self._lvalue = left_variable - self._rvalue = right_variable + self._lvalue: LVALUE = left_variable + self._rvalue: Union[RVALUE, Function, TupleVariable] = right_variable self._variable_return_type = variable_return_type @property - def variables(self): + def variables(self) -> List[Union[LVALUE, RVALUE, Function, TupleVariable]]: return list(self._variables) @property - def read(self) -> List[SourceMapping]: + def read(self) -> List[Union[RVALUE, Function, TupleVariable]]: return [self.rvalue] @property - def variable_return_type(self): + def variable_return_type(self) -> Type: return self._variable_return_type @property - def rvalue(self) -> SourceMapping: + def rvalue(self) -> Union[RVALUE, Function, TupleVariable]: return self._rvalue - def __str__(self): - if isinstance(self.lvalue, ReferenceVariable): - points = self.lvalue.points_to + def __str__(self) -> str: + lvalue = self.lvalue + assert lvalue + if lvalue and isinstance(lvalue, ReferenceVariable): + points = lvalue.points_to while isinstance(points, ReferenceVariable): points = points.points_to - return f"{self.lvalue} (->{points}) := {self.rvalue}({self.rvalue.type})" - return f"{self.lvalue}({self.lvalue.type}) := {self.rvalue}({self.rvalue.type})" + return f"{lvalue} (->{points}) := {self.rvalue}({self.rvalue.type})" + return f"{lvalue}({lvalue.type}) := {self.rvalue}({self.rvalue.type})" diff --git a/slither/slithir/operations/binary.py b/slither/slithir/operations/binary.py index ad65e3e75..d1355a965 100644 --- a/slither/slithir/operations/binary.py +++ b/slither/slithir/operations/binary.py @@ -1,17 +1,14 @@ import logging -from typing import List - from enum import Enum +from typing import List, Union from slither.core.declarations import Function from slither.core.solidity_types import ElementaryType +from slither.core.variables.variable import Variable from slither.slithir.exceptions import SlithIRError from slither.slithir.operations.lvalue import OperationWithLValue -from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue +from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue, LVALUE, RVALUE from slither.slithir.variables import ReferenceVariable -from slither.core.source_mapping.source_mapping import SourceMapping -from slither.core.variables.variable import Variable - logger = logging.getLogger("BinaryOperationIR") @@ -51,7 +48,7 @@ class BinaryType(Enum): ] @staticmethod - def get_type(operation_type): # pylint: disable=too-many-branches + def get_type(operation_type: str) -> "BinaryType": # pylint: disable=too-many-branches if operation_type == "**": return BinaryType.POWER if operation_type == "*": @@ -93,7 +90,7 @@ class BinaryType(Enum): raise SlithIRError(f"get_type: Unknown operation type {operation_type})") - def can_be_checked_for_overflow(self): + def can_be_checked_for_overflow(self) -> bool: return self in [ BinaryType.POWER, BinaryType.MULTIPLICATION, @@ -108,8 +105,8 @@ class Binary(OperationWithLValue): def __init__( self, result: Variable, - left_variable: SourceMapping, - right_variable: Variable, + left_variable: Union[RVALUE, Function], + right_variable: Union[RVALUE, Function], operation_type: BinaryType, ) -> None: assert is_valid_rvalue(left_variable) or isinstance(left_variable, Function) @@ -126,36 +123,38 @@ class Binary(OperationWithLValue): result.set_type(left_variable.type) @property - def read(self) -> List[SourceMapping]: + def read(self) -> List[Union[RVALUE, LVALUE, Function]]: return [self.variable_left, self.variable_right] @property - def get_variable(self): + def get_variable(self) -> List[Union[RVALUE, Function]]: return self._variables @property - def variable_left(self) -> SourceMapping: - return self._variables[0] + def variable_left(self) -> Union[RVALUE, Function]: + return self._variables[0] # type: ignore @property - def variable_right(self) -> Variable: - return self._variables[1] + def variable_right(self) -> Union[RVALUE, Function]: + return self._variables[1] # type: ignore @property def type(self) -> BinaryType: return self._type @property - def type_str(self): + def type_str(self) -> str: if self.node.scope.is_checked and self._type.can_be_checked_for_overflow(): - return "(c)" + self._type.value - return self._type.value - - def __str__(self): - if isinstance(self.lvalue, ReferenceVariable): - points = self.lvalue.points_to + return "(c)" + str(self._type.value) + return str(self._type.value) + + def __str__(self) -> str: + lvalue = self.lvalue + assert lvalue + if isinstance(lvalue, ReferenceVariable): + points = lvalue.points_to while isinstance(points, ReferenceVariable): points = points.points_to - return f"{str(self.lvalue)}(-> {points}) = {self.variable_left} {self.type_str} {self.variable_right}" + return f"{str(lvalue)}(-> {points}) = {self.variable_left} {self.type_str} {self.variable_right}" - return f"{str(self.lvalue)}({self.lvalue.type}) = {self.variable_left} {self.type_str} {self.variable_right}" + return f"{str(lvalue)}({lvalue.type}) = {self.variable_left} {self.type_str} {self.variable_right}" diff --git a/slither/slithir/operations/call.py b/slither/slithir/operations/call.py index 07304fa99..816c56e1d 100644 --- a/slither/slithir/operations/call.py +++ b/slither/slithir/operations/call.py @@ -1,22 +1,25 @@ -from typing import Optional, List +from typing import Optional, List, Union +from slither.core.declarations import Function +from slither.core.variables import Variable from slither.slithir.operations.operation import Operation class Call(Operation): def __init__(self) -> None: super().__init__() - self._arguments = [] + self._arguments: List[Variable] = [] @property - def arguments(self): + def arguments(self) -> List[Variable]: return self._arguments @arguments.setter - def arguments(self, v): + def arguments(self, v: List[Variable]) -> None: self._arguments = v - def can_reenter(self, _callstack: Optional[List] = None) -> bool: # pylint: disable=no-self-use + # pylint: disable=no-self-use + def can_reenter(self, _callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Must be called after slithIR analysis pass :return: bool diff --git a/slither/slithir/operations/codesize.py b/slither/slithir/operations/codesize.py index 6640f4fd8..13aa430eb 100644 --- a/slither/slithir/operations/codesize.py +++ b/slither/slithir/operations/codesize.py @@ -29,5 +29,5 @@ class CodeSize(OperationWithLValue): def value(self) -> LocalVariable: return self._value - def __str__(self): + def __str__(self) -> str: return f"{self.lvalue} -> CODESIZE {self.value}" diff --git a/slither/slithir/operations/condition.py b/slither/slithir/operations/condition.py index 41fb3d933..ccec033d9 100644 --- a/slither/slithir/operations/condition.py +++ b/slither/slithir/operations/condition.py @@ -1,13 +1,7 @@ -from typing import List, Union -from slither.slithir.operations.operation import Operation +from typing import List -from slither.slithir.utils.utils import is_valid_rvalue -from slither.core.variables.local_variable import LocalVariable -from slither.slithir.variables.constant import Constant -from slither.slithir.variables.local_variable import LocalIRVariable -from slither.slithir.variables.temporary import TemporaryVariable -from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA -from slither.core.variables.variable import Variable +from slither.slithir.operations.operation import Operation +from slither.slithir.utils.utils import is_valid_rvalue, RVALUE class Condition(Operation): @@ -18,9 +12,7 @@ class Condition(Operation): def __init__( self, - value: Union[ - LocalVariable, TemporaryVariableSSA, TemporaryVariable, Constant, LocalIRVariable - ], + value: RVALUE, ) -> None: assert is_valid_rvalue(value) super().__init__() @@ -29,14 +21,12 @@ class Condition(Operation): @property def read( self, - ) -> List[ - Union[LocalIRVariable, Constant, LocalVariable, TemporaryVariableSSA, TemporaryVariable] - ]: + ) -> List[RVALUE]: return [self.value] @property - def value(self) -> Variable: + def value(self) -> RVALUE: return self._value - def __str__(self): + def __str__(self) -> str: return f"CONDITION {self.value}" diff --git a/slither/slithir/operations/delete.py b/slither/slithir/operations/delete.py index 496d170ad..d241033c5 100644 --- a/slither/slithir/operations/delete.py +++ b/slither/slithir/operations/delete.py @@ -36,5 +36,5 @@ class Delete(OperationWithLValue): ) -> Union[StateIRVariable, StateVariable, ReferenceVariable, ReferenceVariableSSA]: return self._variable - def __str__(self): + def __str__(self) -> str: return f"{self.lvalue} = delete {self.variable} " diff --git a/slither/slithir/operations/high_level_call.py b/slither/slithir/operations/high_level_call.py index a12917519..5d654fc80 100644 --- a/slither/slithir/operations/high_level_call.py +++ b/slither/slithir/operations/high_level_call.py @@ -1,5 +1,6 @@ from typing import List, Optional, Union +from slither.core.declarations import Contract from slither.slithir.operations.call import Call from slither.slithir.operations.lvalue import OperationWithLValue from slither.core.variables.variable import Variable @@ -32,7 +33,8 @@ class HighLevelCall(Call, OperationWithLValue): assert is_valid_lvalue(result) or result is None self._check_destination(destination) super().__init__() - self._destination = destination + # Contract is only possible for library call, which inherits from highlevelcall + self._destination: Union[Variable, SolidityVariable, Contract] = destination # type: ignore self._function_name = function_name self._nbr_arguments = nbr_arguments self._type_call = type_call @@ -44,8 +46,9 @@ class HighLevelCall(Call, OperationWithLValue): self._call_gas = None # Development function, to be removed once the code is stable - # It is ovveride by LbraryCall - def _check_destination(self, destination: SourceMapping) -> None: # pylint: disable=no-self-use + # It is overridden by LibraryCall + # pylint: disable=no-self-use + def _check_destination(self, destination: Union[Variable, SolidityVariable, Contract]) -> None: assert isinstance(destination, (Variable, SolidityVariable)) @property @@ -79,7 +82,14 @@ class HighLevelCall(Call, OperationWithLValue): return [x for x in all_read if x] @property - def destination(self) -> SourceMapping: + def destination(self) -> Union[Variable, SolidityVariable, Contract]: + """ + Return a variable or a solidityVariable + Contract is only possible for LibraryCall + + Returns: + + """ return self._destination @property @@ -116,7 +126,7 @@ class HighLevelCall(Call, OperationWithLValue): return True return False - def can_reenter(self, callstack: None = None) -> bool: + def can_reenter(self, callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Must be called after slithIR analysis pass For Solidity > 0.5, filter access to public variables and constant/pure/view diff --git a/slither/slithir/operations/index.py b/slither/slithir/operations/index.py index ade84fe1d..f38a25927 100644 --- a/slither/slithir/operations/index.py +++ b/slither/slithir/operations/index.py @@ -1,21 +1,16 @@ from typing import List, Union + from slither.core.declarations import SolidityVariableComposed -from slither.slithir.operations.lvalue import OperationWithLValue -from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue -from slither.slithir.variables.reference import ReferenceVariable -from slither.core.solidity_types.elementary_type import ElementaryType from slither.core.source_mapping.source_mapping import SourceMapping from slither.core.variables.variable import Variable -from slither.slithir.variables.reference_ssa import ReferenceVariableSSA +from slither.slithir.operations.lvalue import OperationWithLValue +from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue, RVALUE, LVALUE +from slither.slithir.variables.reference import ReferenceVariable class Index(OperationWithLValue): def __init__( - self, - result: Union[ReferenceVariable, ReferenceVariableSSA], - left_variable: Variable, - right_variable: SourceMapping, - index_type: Union[ElementaryType, str], + self, result: ReferenceVariable, left_variable: Variable, right_variable: RVALUE ) -> None: super().__init__() assert is_valid_lvalue(left_variable) or left_variable == SolidityVariableComposed( @@ -24,28 +19,23 @@ class Index(OperationWithLValue): assert is_valid_rvalue(right_variable) assert isinstance(result, ReferenceVariable) self._variables = [left_variable, right_variable] - self._type = index_type - self._lvalue = result + self._lvalue: ReferenceVariable = result @property def read(self) -> List[SourceMapping]: return list(self.variables) @property - def variables(self) -> List[SourceMapping]: - return self._variables - - @property - def variable_left(self) -> Variable: - return self._variables[0] + def variables(self) -> List[Union[LVALUE, RVALUE, SolidityVariableComposed]]: + return self._variables # type: ignore @property - def variable_right(self) -> SourceMapping: - return self._variables[1] + def variable_left(self) -> Union[LVALUE, SolidityVariableComposed]: + return self._variables[0] # type: ignore @property - def index_type(self) -> Union[ElementaryType, str]: - return self._type + def variable_right(self) -> RVALUE: + return self._variables[1] # type: ignore - def __str__(self): + def __str__(self) -> str: return f"{self.lvalue}({self.lvalue.type}) -> {self.variable_left}[{self.variable_right}]" diff --git a/slither/slithir/operations/internal_call.py b/slither/slithir/operations/internal_call.py index 395c68846..1983b885f 100644 --- a/slither/slithir/operations/internal_call.py +++ b/slither/slithir/operations/internal_call.py @@ -24,7 +24,7 @@ class InternalCall(Call, OperationWithLValue): # pylint: disable=too-many-insta super().__init__() self._contract_name = "" if isinstance(function, Function): - self._function = function + self._function: Optional[Function] = function self._function_name = function.name if isinstance(function, FunctionContract): self._contract_name = function.contract_declarer.name @@ -45,7 +45,7 @@ class InternalCall(Call, OperationWithLValue): # pylint: disable=too-many-insta return list(self._unroll(self.arguments)) @property - def function(self): + def function(self) -> Optional[Function]: return self._function @function.setter diff --git a/slither/slithir/operations/internal_dynamic_call.py b/slither/slithir/operations/internal_dynamic_call.py index a1ad1aa15..ca245167e 100644 --- a/slither/slithir/operations/internal_dynamic_call.py +++ b/slither/slithir/operations/internal_dynamic_call.py @@ -24,7 +24,7 @@ class InternalDynamicCall( assert isinstance(function, Variable) assert is_valid_lvalue(lvalue) or lvalue is None super().__init__() - self._function = function + self._function: Variable = function self._function_type = function_type self._lvalue = lvalue @@ -37,7 +37,7 @@ class InternalDynamicCall( return self._unroll(self.arguments) + [self.function] @property - def function(self) -> Union[LocalVariable, LocalIRVariable]: + def function(self) -> Variable: return self._function @property diff --git a/slither/slithir/operations/library_call.py b/slither/slithir/operations/library_call.py index ebe9bf5ef..1b7f4e8a6 100644 --- a/slither/slithir/operations/library_call.py +++ b/slither/slithir/operations/library_call.py @@ -1,4 +1,7 @@ -from slither.core.declarations import Function +from typing import Union, Optional, List + +from slither.core.declarations import Function, SolidityVariable +from slither.core.variables import Variable from slither.slithir.operations.high_level_call import HighLevelCall from slither.core.declarations.contract import Contract @@ -9,10 +12,10 @@ class LibraryCall(HighLevelCall): """ # Development function, to be removed once the code is stable - def _check_destination(self, destination: Contract) -> None: + def _check_destination(self, destination: Union[Variable, SolidityVariable, Contract]) -> None: assert isinstance(destination, Contract) - def can_reenter(self, callstack: None = None) -> bool: + def can_reenter(self, callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Must be called after slithIR analysis pass :return: bool @@ -20,11 +23,11 @@ class LibraryCall(HighLevelCall): if self.is_static_call(): return False # In case of recursion, return False - callstack = [] if callstack is None else callstack - if self.function in callstack: + callstack_local = [] if callstack is None else callstack + if self.function in callstack_local: return False - callstack = callstack + [self.function] - return self.function.can_reenter(callstack) + callstack_local = callstack_local + [self.function] + return self.function.can_reenter(callstack_local) def __str__(self): gas = "" diff --git a/slither/slithir/operations/low_level_call.py b/slither/slithir/operations/low_level_call.py index 7e8c278b8..eac779d27 100644 --- a/slither/slithir/operations/low_level_call.py +++ b/slither/slithir/operations/low_level_call.py @@ -1,4 +1,6 @@ -from typing import List, Union +from typing import List, Union, Optional + +from slither.core.declarations import Function from slither.slithir.operations.call import Call from slither.slithir.operations.lvalue import OperationWithLValue from slither.core.variables.variable import Variable @@ -74,7 +76,7 @@ class LowLevelCall(Call, OperationWithLValue): # pylint: disable=too-many-insta # remove None return self._unroll([x for x in all_read if x]) - def can_reenter(self, _callstack: None = None) -> bool: + def can_reenter(self, _callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Must be called after slithIR analysis pass :return: bool diff --git a/slither/slithir/operations/lvalue.py b/slither/slithir/operations/lvalue.py index d9b800c92..b983d1c5d 100644 --- a/slither/slithir/operations/lvalue.py +++ b/slither/slithir/operations/lvalue.py @@ -1,4 +1,6 @@ -from typing import Any, List +from typing import Any, List, Optional + +from slither.core.variables import Variable from slither.slithir.operations.operation import Operation @@ -10,16 +12,16 @@ class OperationWithLValue(Operation): def __init__(self) -> None: super().__init__() - self._lvalue = None + self._lvalue: Optional[Variable] = None @property - def lvalue(self): + def lvalue(self) -> Optional[Variable]: return self._lvalue - @property - def used(self) -> List[Any]: - return self.read + [self.lvalue] - @lvalue.setter - def lvalue(self, lvalue): + def lvalue(self, lvalue: Variable) -> None: self._lvalue = lvalue + + @property + def used(self) -> List[Optional[Any]]: + return self.read + [self.lvalue] diff --git a/slither/slithir/operations/member.py b/slither/slithir/operations/member.py index 9a561ea87..0942813cf 100644 --- a/slither/slithir/operations/member.py +++ b/slither/slithir/operations/member.py @@ -5,7 +5,7 @@ from slither.core.declarations.enum import Enum from slither.core.declarations.solidity_import_placeholder import SolidityImportPlaceHolder from slither.core.solidity_types import ElementaryType from slither.slithir.operations.lvalue import OperationWithLValue -from slither.slithir.utils.utils import is_valid_rvalue +from slither.slithir.utils.utils import is_valid_rvalue, RVALUE from slither.slithir.variables.constant import Constant from slither.slithir.variables.reference import ReferenceVariable from slither.core.source_mapping.source_mapping import SourceMapping @@ -39,7 +39,9 @@ class Member(OperationWithLValue): assert isinstance(variable_right, Constant) assert isinstance(result, ReferenceVariable) super().__init__() - self._variable_left = variable_left + self._variable_left: Union[ + RVALUE, Contract, Enum, Function, CustomError, SolidityImportPlaceHolder, ElementaryType + ] = variable_left self._variable_right = variable_right self._lvalue = result self._gas = None @@ -50,7 +52,11 @@ class Member(OperationWithLValue): return [self.variable_left, self.variable_right] @property - def variable_left(self) -> SourceMapping: + def variable_left( + self, + ) -> Union[ + RVALUE, Contract, Enum, Function, CustomError, SolidityImportPlaceHolder, ElementaryType + ]: return self._variable_left @property diff --git a/slither/slithir/operations/new_contract.py b/slither/slithir/operations/new_contract.py index 08ddbd960..10fa91efd 100644 --- a/slither/slithir/operations/new_contract.py +++ b/slither/slithir/operations/new_contract.py @@ -1,11 +1,13 @@ from typing import Optional, Any, List, Union + +from slither.core.declarations import Function +from slither.core.declarations.contract import Contract +from slither.core.variables import Variable from slither.slithir.operations import Call, OperationWithLValue from slither.slithir.utils.utils import is_valid_lvalue from slither.slithir.variables.constant import Constant -from slither.core.declarations.contract import Contract from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA -from slither.core.declarations.function_contract import FunctionContract class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes @@ -60,6 +62,7 @@ class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instan def contract_created(self) -> Contract: contract_name = self.contract_name contract_instance = self.node.file_scope.get_contract_from_name(contract_name) + assert contract_instance return contract_instance ################################################################################### @@ -68,7 +71,7 @@ class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instan ################################################################################### ################################################################################### - def can_reenter(self, callstack: Optional[List[FunctionContract]] = None) -> bool: + def can_reenter(self, callstack: Optional[List[Union[Function, Variable]]] = None) -> bool: """ Must be called after slithIR analysis pass For Solidity > 0.5, filter access to public variables and constant/pure/view @@ -94,7 +97,7 @@ class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instan # endregion - def __str__(self): + def __str__(self) -> str: options = "" if self.call_value: options = f"value:{self.call_value} " diff --git a/slither/slithir/operations/new_structure.py b/slither/slithir/operations/new_structure.py index 752de6a3d..f24b3bccd 100644 --- a/slither/slithir/operations/new_structure.py +++ b/slither/slithir/operations/new_structure.py @@ -14,7 +14,9 @@ from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA class NewStructure(Call, OperationWithLValue): def __init__( - self, structure: StructureContract, lvalue: Union[TemporaryVariableSSA, TemporaryVariable] + self, + structure: StructureContract, + lvalue: Union[TemporaryVariableSSA, TemporaryVariable], ) -> None: super().__init__() assert isinstance(structure, Structure) diff --git a/slither/slithir/operations/operation.py b/slither/slithir/operations/operation.py index fcf5f4868..aca3e645b 100644 --- a/slither/slithir/operations/operation.py +++ b/slither/slithir/operations/operation.py @@ -1,11 +1,14 @@ import abc -from typing import Any, List +from typing import Any, List, Optional, TYPE_CHECKING from slither.core.context.context import Context -from slither.core.children.child_expression import ChildExpression -from slither.core.children.child_node import ChildNode +from slither.core.expressions.expression import Expression from slither.core.variables.variable import Variable from slither.utils.utils import unroll +if TYPE_CHECKING: + from slither.core.compilation_unit import SlitherCompilationUnit + from slither.core.cfg.node import Node + class AbstractOperation(abc.ABC): @property @@ -25,7 +28,24 @@ class AbstractOperation(abc.ABC): pass # pylint: disable=unnecessary-pass -class Operation(Context, ChildExpression, ChildNode, AbstractOperation): +class Operation(Context, AbstractOperation): + def __init__(self) -> None: + super().__init__() + self._node: Optional["Node"] = None + self._expression: Optional[Expression] = None + + def set_node(self, node: "Node") -> None: + self._node = node + + @property + def node(self) -> "Node": + assert self._node + return self._node + + @property + def compilation_unit(self) -> "SlitherCompilationUnit": + return self.node.compilation_unit + @property def used(self) -> List[Variable]: """ @@ -37,3 +57,10 @@ class Operation(Context, ChildExpression, ChildNode, AbstractOperation): @staticmethod def _unroll(l: List[Any]) -> List[Any]: return unroll(l) + + def set_expression(self, expression: Expression) -> None: + self._expression = expression + + @property + def expression(self) -> Optional[Expression]: + return self._expression diff --git a/slither/slithir/operations/return_operation.py b/slither/slithir/operations/return_operation.py index c21579763..290572ebf 100644 --- a/slither/slithir/operations/return_operation.py +++ b/slither/slithir/operations/return_operation.py @@ -1,11 +1,10 @@ -from typing import List +from typing import List, Optional, Union, Any from slither.core.declarations import Function +from slither.core.variables.variable import Variable from slither.slithir.operations.operation import Operation - +from slither.slithir.utils.utils import is_valid_rvalue, RVALUE from slither.slithir.variables.tuple import TupleVariable -from slither.slithir.utils.utils import is_valid_rvalue -from slither.core.variables.variable import Variable class Return(Operation): @@ -14,10 +13,13 @@ class Return(Operation): Only present as last operation in RETURN node """ - def __init__(self, values) -> None: + def __init__( + self, values: Optional[Union[RVALUE, TupleVariable, Function, List[RVALUE]]] + ) -> None: # Note: Can return None # ex: return call() # where call() dont return + self._values: List[Union[RVALUE, TupleVariable, Function]] if not isinstance(values, list): assert ( is_valid_rvalue(values) @@ -25,20 +27,19 @@ class Return(Operation): or values is None ) if values is None: - values = [] + self._values = [] else: - values = [values] + self._values = [values] else: # Remove None # Prior Solidity 0.5 # return (0,) # was valid for returns(uint) - values = [v for v in values if not v is None] - self._valid_value(values) + self._values = [v for v in values if not v is None] + self._valid_value(self._values) super().__init__() - self._values = values - def _valid_value(self, value) -> bool: + def _valid_value(self, value: Any) -> bool: if isinstance(value, list): assert all(self._valid_value(v) for v in value) else: @@ -53,5 +54,5 @@ class Return(Operation): def values(self) -> List[Variable]: return self._unroll(self._values) - def __str__(self): + def __str__(self) -> str: return f"RETURN {','.join([f'{x}' for x in self.values])}" diff --git a/slither/slithir/operations/solidity_call.py b/slither/slithir/operations/solidity_call.py index b059c55a6..ad0e13937 100644 --- a/slither/slithir/operations/solidity_call.py +++ b/slither/slithir/operations/solidity_call.py @@ -1,17 +1,16 @@ from typing import Any, List, Union -from slither.core.declarations.solidity_variables import SolidityCustomRevert, SolidityFunction +from slither.core.declarations.solidity_variables import SolidityFunction +from slither.core.solidity_types.elementary_type import ElementaryType from slither.slithir.operations.call import Call from slither.slithir.operations.lvalue import OperationWithLValue -from slither.core.children.child_node import ChildNode -from slither.core.solidity_types.elementary_type import ElementaryType class SolidityCall(Call, OperationWithLValue): def __init__( self, - function: Union[SolidityCustomRevert, SolidityFunction], + function: SolidityFunction, nbr_arguments: int, - result: ChildNode, + result, type_call: Union[str, List[ElementaryType]], ) -> None: assert isinstance(function, SolidityFunction) @@ -26,7 +25,7 @@ class SolidityCall(Call, OperationWithLValue): return self._unroll(self.arguments) @property - def function(self) -> Union[SolidityCustomRevert, SolidityFunction]: + def function(self) -> SolidityFunction: return self._function @property diff --git a/slither/slithir/operations/type_conversion.py b/slither/slithir/operations/type_conversion.py index f351f1fdd..e9998bc65 100644 --- a/slither/slithir/operations/type_conversion.py +++ b/slither/slithir/operations/type_conversion.py @@ -1,13 +1,12 @@ from typing import List, Union + from slither.core.declarations import Contract -from slither.core.solidity_types.type import Type -from slither.slithir.operations.lvalue import OperationWithLValue -from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue -import slither.core.declarations.contract from slither.core.solidity_types.elementary_type import ElementaryType -from slither.core.solidity_types.type_alias import TypeAliasContract, TypeAliasTopLevel +from slither.core.solidity_types.type_alias import TypeAlias from slither.core.solidity_types.user_defined_type import UserDefinedType from slither.core.source_mapping.source_mapping import SourceMapping +from slither.slithir.operations.lvalue import OperationWithLValue +from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA @@ -17,15 +16,15 @@ class TypeConversion(OperationWithLValue): self, result: Union[TemporaryVariableSSA, TemporaryVariable], variable: SourceMapping, - variable_type: Union[TypeAliasContract, UserDefinedType, ElementaryType, TypeAliasTopLevel], + variable_type: Union[TypeAlias, UserDefinedType, ElementaryType], ) -> None: super().__init__() assert is_valid_rvalue(variable) or isinstance(variable, Contract) assert is_valid_lvalue(result) - assert isinstance(variable_type, Type) + assert isinstance(variable_type, (TypeAlias, UserDefinedType, ElementaryType)) self._variable = variable - self._type = variable_type + self._type: Union[TypeAlias, UserDefinedType, ElementaryType] = variable_type self._lvalue = result @property @@ -35,18 +34,12 @@ class TypeConversion(OperationWithLValue): @property def type( self, - ) -> Union[ - TypeAliasContract, - TypeAliasTopLevel, - slither.core.declarations.contract.Contract, - UserDefinedType, - ElementaryType, - ]: + ) -> Union[TypeAlias, UserDefinedType, ElementaryType,]: return self._type @property def read(self) -> List[SourceMapping]: return [self.variable] - def __str__(self): + def __str__(self) -> str: return str(self.lvalue) + f" = CONVERT {self.variable} to {self.type}" diff --git a/slither/slithir/tmp_operations/argument.py b/slither/slithir/tmp_operations/argument.py index 25ea5d019..638c5dcb4 100644 --- a/slither/slithir/tmp_operations/argument.py +++ b/slither/slithir/tmp_operations/argument.py @@ -1,4 +1,7 @@ from enum import Enum +from typing import Optional, List + +from slither.core.expressions.expression import Expression from slither.slithir.operations.operation import Operation @@ -10,26 +13,26 @@ class ArgumentType(Enum): class Argument(Operation): - def __init__(self, argument) -> None: + def __init__(self, argument: Expression) -> None: super().__init__() self._argument = argument self._type = ArgumentType.CALL - self._callid = None + self._callid: Optional[str] = None @property - def argument(self): + def argument(self) -> Expression: return self._argument @property - def call_id(self): + def call_id(self) -> Optional[str]: return self._callid @call_id.setter - def call_id(self, c): + def call_id(self, c: str) -> None: self._callid = c @property - def read(self): + def read(self) -> List[Expression]: return [self.argument] def set_type(self, t: ArgumentType) -> None: @@ -39,7 +42,7 @@ class Argument(Operation): def get_type(self) -> ArgumentType: return self._type - def __str__(self): + def __str__(self) -> str: call_id = "none" if self.call_id: call_id = f"(id ({self.call_id}))" diff --git a/slither/slithir/utils/ssa.py b/slither/slithir/utils/ssa.py index 156914b61..9a180d14f 100644 --- a/slither/slithir/utils/ssa.py +++ b/slither/slithir/utils/ssa.py @@ -366,7 +366,7 @@ def last_name( def is_used_later( initial_node: Node, - variable: Union[StateIRVariable, LocalVariable], + variable: Union[StateIRVariable, LocalVariable, TemporaryVariableSSA], ) -> bool: # TODO: does not handle the case where its read and written in the declaration node # It can be problematic if this happens in a loop/if structure @@ -751,8 +751,7 @@ def copy_ir(ir: Operation, *instances) -> Operation: lvalue = get_variable(ir, lambda x: x.lvalue, *instances) variable_left = get_variable(ir, lambda x: x.variable_left, *instances) variable_right = get_variable(ir, lambda x: x.variable_right, *instances) - index_type = ir.index_type - return Index(lvalue, variable_left, variable_right, index_type) + return Index(lvalue, variable_left, variable_right) if isinstance(ir, InitArray): lvalue = get_variable(ir, lambda x: x.lvalue, *instances) init_values = get_rec_values(ir, lambda x: x.init_values, *instances) diff --git a/slither/slithir/utils/utils.py b/slither/slithir/utils/utils.py index 0a50f8e50..49b1a879c 100644 --- a/slither/slithir/utils/utils.py +++ b/slither/slithir/utils/utils.py @@ -1,3 +1,5 @@ +from typing import Union, Optional + from slither.core.variables.local_variable import LocalVariable from slither.core.variables.state_variable import StateVariable @@ -10,8 +12,26 @@ from slither.slithir.variables.reference import ReferenceVariable from slither.slithir.variables.tuple import TupleVariable from slither.core.source_mapping.source_mapping import SourceMapping +RVALUE = Union[ + StateVariable, + LocalVariable, + TopLevelVariable, + TemporaryVariable, + Constant, + SolidityVariable, + ReferenceVariable, +] + +LVALUE = Union[ + StateVariable, + LocalVariable, + TemporaryVariable, + ReferenceVariable, + TupleVariable, +] + -def is_valid_rvalue(v: SourceMapping) -> bool: +def is_valid_rvalue(v: Optional[SourceMapping]) -> bool: return isinstance( v, ( @@ -26,7 +46,7 @@ def is_valid_rvalue(v: SourceMapping) -> bool: ) -def is_valid_lvalue(v) -> bool: +def is_valid_lvalue(v: Optional[SourceMapping]) -> bool: return isinstance( v, ( diff --git a/slither/slithir/variables/constant.py b/slither/slithir/variables/constant.py index ddfc9e054..5321e5250 100644 --- a/slither/slithir/variables/constant.py +++ b/slither/slithir/variables/constant.py @@ -28,7 +28,7 @@ class Constant(SlithIRVariable): assert isinstance(constant_type, ElementaryType) self._type = constant_type if constant_type.type in Int + Uint + ["address"]: - self._val = convert_string_to_int(val) + self._val: Union[bool, int, str] = convert_string_to_int(val) elif constant_type.type == "bool": self._val = (val == "true") | (val == "True") else: @@ -41,6 +41,8 @@ class Constant(SlithIRVariable): self._type = ElementaryType("string") self._val = val + self._name = str(self._val) + @property def value(self) -> Union[bool, int, str]: """ @@ -63,20 +65,18 @@ class Constant(SlithIRVariable): def __str__(self) -> str: return str(self.value) - @property - def name(self) -> str: - return str(self) - - def __eq__(self, other: Union["Constant", str]) -> bool: + def __eq__(self, other: object) -> bool: return self.value == other - def __ne__(self, other): + def __ne__(self, other: object) -> bool: return self.value != other - def __lt__(self, other): - return self.value < other + def __lt__(self, other: object) -> bool: + if not isinstance(other, (Constant, str)): + raise NotImplementedError + return self.value < other # type: ignore - def __repr__(self): + def __repr__(self) -> str: return f"{str(self.value)}" def __hash__(self) -> int: diff --git a/slither/slithir/variables/local_variable.py b/slither/slithir/variables/local_variable.py index eb32d4024..35b624a01 100644 --- a/slither/slithir/variables/local_variable.py +++ b/slither/slithir/variables/local_variable.py @@ -41,11 +41,11 @@ class LocalIRVariable( self._non_ssa_version = local_variable @property - def index(self): + def index(self) -> int: return self._index @index.setter - def index(self, idx): + def index(self, idx: int) -> None: self._index = idx @property diff --git a/slither/slithir/variables/reference.py b/slither/slithir/variables/reference.py index 95802b7e2..9ab51be65 100644 --- a/slither/slithir/variables/reference.py +++ b/slither/slithir/variables/reference.py @@ -1,6 +1,5 @@ from typing import Optional, TYPE_CHECKING -from slither.core.children.child_node import ChildNode from slither.core.declarations import Contract, Enum, SolidityVariable, Function from slither.core.variables.variable import Variable @@ -8,7 +7,7 @@ if TYPE_CHECKING: from slither.core.cfg.node import Node -class ReferenceVariable(ChildNode, Variable): +class ReferenceVariable(Variable): def __init__(self, node: "Node", index: Optional[int] = None) -> None: super().__init__() if index is None: @@ -19,6 +18,10 @@ class ReferenceVariable(ChildNode, Variable): self._points_to = None self._node = node + @property + def node(self) -> "Node": + return self._node + @property def index(self): return self._index diff --git a/slither/slithir/variables/state_variable.py b/slither/slithir/variables/state_variable.py index 7bb3a4077..f7fb8ab8a 100644 --- a/slither/slithir/variables/state_variable.py +++ b/slither/slithir/variables/state_variable.py @@ -30,11 +30,11 @@ class StateIRVariable( self._non_ssa_version = state_variable @property - def index(self): + def index(self) -> int: return self._index @index.setter - def index(self, idx): + def index(self, idx: int) -> None: self._index = idx @property diff --git a/slither/slithir/variables/temporary.py b/slither/slithir/variables/temporary.py index 8cb1cf350..5a485f985 100644 --- a/slither/slithir/variables/temporary.py +++ b/slither/slithir/variables/temporary.py @@ -1,13 +1,12 @@ from typing import Optional, TYPE_CHECKING -from slither.core.children.child_node import ChildNode from slither.core.variables.variable import Variable if TYPE_CHECKING: from slither.core.cfg.node import Node -class TemporaryVariable(ChildNode, Variable): +class TemporaryVariable(Variable): def __init__(self, node: "Node", index: Optional[int] = None) -> None: super().__init__() if index is None: @@ -17,6 +16,10 @@ class TemporaryVariable(ChildNode, Variable): self._index = index self._node = node + @property + def node(self) -> "Node": + return self._node + @property def index(self): return self._index diff --git a/slither/slithir/variables/tuple.py b/slither/slithir/variables/tuple.py index dc085347e..9a13b1d5d 100644 --- a/slither/slithir/variables/tuple.py +++ b/slither/slithir/variables/tuple.py @@ -1,13 +1,12 @@ from typing import Optional, TYPE_CHECKING -from slither.core.children.child_node import ChildNode from slither.slithir.variables.variable import SlithIRVariable if TYPE_CHECKING: from slither.core.cfg.node import Node -class TupleVariable(ChildNode, SlithIRVariable): +class TupleVariable(SlithIRVariable): def __init__(self, node: "Node", index: Optional[int] = None) -> None: super().__init__() if index is None: @@ -18,6 +17,10 @@ class TupleVariable(ChildNode, SlithIRVariable): self._node = node + @property + def node(self) -> "Node": + return self._node + @property def index(self): return self._index diff --git a/slither/slithir/variables/variable.py b/slither/slithir/variables/variable.py index a1a1a6df9..20d203ea4 100644 --- a/slither/slithir/variables/variable.py +++ b/slither/slithir/variables/variable.py @@ -7,8 +7,9 @@ class SlithIRVariable(Variable): self._index = 0 @property - def ssa_name(self): + def ssa_name(self) -> str: + assert self.name return self.name - def __str__(self): + def __str__(self) -> str: return self.ssa_name diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index e63dbe68f..74a1cbcf0 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -1,12 +1,18 @@ import logging import re -from typing import Any, List, Dict, Callable, TYPE_CHECKING, Union, Set - -from slither.core.declarations import Modifier, Event, EnumContract, StructureContract, Function -from slither.core.declarations.contract import Contract +from typing import Any, List, Dict, Callable, TYPE_CHECKING, Union, Set, Sequence + +from slither.core.declarations import ( + Modifier, + Event, + EnumContract, + StructureContract, + Function, +) +from slither.core.declarations.contract import Contract, USING_FOR_KEY from slither.core.declarations.custom_error_contract import CustomErrorContract from slither.core.declarations.function_contract import FunctionContract -from slither.core.solidity_types import ElementaryType, TypeAliasContract, Type +from slither.core.solidity_types import ElementaryType, TypeAliasContract from slither.core.variables.state_variable import StateVariable from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.declarations.custom_error import CustomErrorSolc @@ -165,8 +171,8 @@ class ContractSolc(CallerContextExpression): self._contract.is_library = True self._contract.contract_kind = attributes["contractKind"] + self._contract.is_fully_implemented = attributes["fullyImplemented"] self._linearized_base_contracts = attributes["linearizedBaseContracts"] - # self._contract.fullyImplemented = attributes["fullyImplemented"] # Parse base contract information self._parse_base_contract_info() @@ -296,7 +302,7 @@ class ContractSolc(CallerContextExpression): st.set_contract(self._contract) st.set_offset(struct["src"], self._contract.compilation_unit) - st_parser = StructureContractSolc(st, struct, self) + st_parser = StructureContractSolc(st, struct, self) # type: ignore self._contract.structures_as_dict[st.name] = st self._structures_parser.append(st_parser) @@ -306,7 +312,7 @@ class ContractSolc(CallerContextExpression): for struct in self._structuresNotParsed: self._parse_struct(struct) - self._structuresNotParsed = None + self._structuresNotParsed = [] def _parse_custom_error(self, custom_error: Dict) -> None: ce = CustomErrorContract(self.compilation_unit) @@ -323,7 +329,7 @@ class ContractSolc(CallerContextExpression): for custom_error in self._customErrorParsed: self._parse_custom_error(custom_error) - self._customErrorParsed = None + self._customErrorParsed = [] def parse_state_variables(self) -> None: for father in self._contract.inheritance_reverse: @@ -350,6 +356,7 @@ class ContractSolc(CallerContextExpression): var_parser = StateVariableSolc(var, varNotParsed) self._variables_parser.append(var_parser) + assert var.name self._contract.variables_as_dict[var.name] = var self._contract.add_variables_ordered([var]) @@ -359,7 +366,7 @@ class ContractSolc(CallerContextExpression): modif.set_contract(self._contract) modif.set_contract_declarer(self._contract) - modif_parser = ModifierSolc(modif, modifier_data, self, self.slither_parser) + modif_parser = ModifierSolc(modif, modifier_data, self, self.slither_parser) # type: ignore self._contract.compilation_unit.add_modifier(modif) self._modifiers_no_params.append(modif_parser) self._modifiers_parser.append(modif_parser) @@ -369,7 +376,7 @@ class ContractSolc(CallerContextExpression): def parse_modifiers(self) -> None: for modifier in self._modifiersNotParsed: self._parse_modifier(modifier) - self._modifiersNotParsed = None + self._modifiersNotParsed = [] def _parse_function(self, function_data: Dict) -> None: func = FunctionContract(self._contract.compilation_unit) @@ -377,7 +384,7 @@ class ContractSolc(CallerContextExpression): func.set_contract(self._contract) func.set_contract_declarer(self._contract) - func_parser = FunctionSolc(func, function_data, self, self._slither_parser) + func_parser = FunctionSolc(func, function_data, self, self._slither_parser) # type: ignore self._contract.compilation_unit.add_function(func) self._functions_no_params.append(func_parser) self._functions_parser.append(func_parser) @@ -389,7 +396,7 @@ class ContractSolc(CallerContextExpression): for function in self._functionsNotParsed: self._parse_function(function) - self._functionsNotParsed = None + self._functionsNotParsed = [] # endregion ################################################################################### @@ -433,7 +440,8 @@ class ContractSolc(CallerContextExpression): Cls_parser, self._modifiers_parser, ) - self._contract.set_modifiers(modifiers) + # modifiers will be using Modifier so we can ignore the next type check + self._contract.set_modifiers(modifiers) # type: ignore except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing params {e}") self._modifiers_no_params = [] @@ -453,7 +461,8 @@ class ContractSolc(CallerContextExpression): Cls_parser, self._functions_parser, ) - self._contract.set_functions(functions) + # function will be using FunctionContract so we can ignore the next type check + self._contract.set_functions(functions) # type: ignore except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing params {e}") self._functions_no_params = [] @@ -464,7 +473,7 @@ class ContractSolc(CallerContextExpression): Cls_parser: Callable, element_parser: FunctionSolc, explored_reference_id: Set[str], - parser: List[FunctionSolc], + parser: Union[List[FunctionSolc], List[ModifierSolc]], all_elements: Dict[str, Function], ) -> None: elem = Cls(self._contract.compilation_unit) @@ -502,13 +511,13 @@ class ContractSolc(CallerContextExpression): def _analyze_params_elements( # pylint: disable=too-many-arguments,too-many-locals self, - elements_no_params: List[FunctionSolc], + elements_no_params: Sequence[FunctionSolc], getter: Callable[["ContractSolc"], List[FunctionSolc]], getter_available: Callable[[Contract], List[FunctionContract]], Cls: Callable, Cls_parser: Callable, - parser: List[FunctionSolc], - ) -> Dict[str, Union[FunctionContract, Modifier]]: + parser: Union[List[FunctionSolc], List[ModifierSolc]], + ) -> Dict[str, Function]: """ Analyze the parameters of the given elements (Function or Modifier). The function iterates over the inheritance to create an instance or inherited elements (Function or Modifier) @@ -520,13 +529,13 @@ class ContractSolc(CallerContextExpression): :param Cls: Class to create for collision :return: """ - all_elements = {} + all_elements: Dict[str, Function] = {} - explored_reference_id = set() + explored_reference_id: Set[str] = set() try: for father in self._contract.inheritance: father_parser = self._slither_parser.underlying_contract_to_parser[father] - for element_parser in getter(father_parser): + for element_parser in getter(father_parser): # type: ignore self._analyze_params_element( Cls, Cls_parser, element_parser, explored_reference_id, parser, all_elements ) @@ -591,7 +600,7 @@ class ContractSolc(CallerContextExpression): if self.is_compact_ast: for using_for in self._usingForNotParsed: if "typeName" in using_for and using_for["typeName"]: - type_name = parse_type(using_for["typeName"], self) + type_name: USING_FOR_KEY = parse_type(using_for["typeName"], self) else: type_name = "*" if type_name not in self._contract.using_for: @@ -610,7 +619,7 @@ class ContractSolc(CallerContextExpression): assert children and len(children) <= 2 if len(children) == 2: new = parse_type(children[0], self) - old = parse_type(children[1], self) + old: USING_FOR_KEY = parse_type(children[1], self) else: new = parse_type(children[0], self) old = "*" @@ -621,7 +630,7 @@ class ContractSolc(CallerContextExpression): except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing using for {e}") - def _analyze_function_list(self, function_list: List, type_name: Type) -> None: + def _analyze_function_list(self, function_list: List, type_name: USING_FOR_KEY) -> None: for f in function_list: full_name_split = f["function"]["name"].split(".") if len(full_name_split) == 1: @@ -640,7 +649,9 @@ class ContractSolc(CallerContextExpression): function_name = full_name_split[2] self._analyze_library_function(library_name, function_name, type_name) - def _check_aliased_import(self, first_part: str, function_name: str, type_name: Type) -> None: + def _check_aliased_import( + self, first_part: str, function_name: str, type_name: USING_FOR_KEY + ) -> None: # We check if the first part appear as alias for an import # if it is then function_name must be a top level function # otherwise it's a library function @@ -650,13 +661,13 @@ class ContractSolc(CallerContextExpression): return self._analyze_library_function(first_part, function_name, type_name) - def _analyze_top_level_function(self, function_name: str, type_name: Type) -> None: + def _analyze_top_level_function(self, function_name: str, type_name: USING_FOR_KEY) -> None: for tl_function in self.compilation_unit.functions_top_level: if tl_function.name == function_name: self._contract.using_for[type_name].append(tl_function) def _analyze_library_function( - self, library_name: str, function_name: str, type_name: Type + self, library_name: str, function_name: str, type_name: USING_FOR_KEY ) -> None: # Get the library function found = False @@ -683,22 +694,13 @@ class ContractSolc(CallerContextExpression): # for enum, we can parse and analyze it # at the same time self._analyze_enum(enum) - self._enumsNotParsed = None + self._enumsNotParsed = [] except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing enum {e}") def _analyze_enum( self, - enum: Dict[ - str, - Union[ - str, - int, - List[Dict[str, Union[int, str]]], - Dict[str, str], - List[Dict[str, Union[Dict[str, str], int, str]]], - ], - ], + enum: Dict, ) -> None: # Enum can be parsed in one pass if self.is_compact_ast: @@ -747,13 +749,13 @@ class ContractSolc(CallerContextExpression): event.set_contract(self._contract) event.set_offset(event_to_parse["src"], self._contract.compilation_unit) - event_parser = EventSolc(event, event_to_parse, self) - event_parser.analyze(self) + event_parser = EventSolc(event, event_to_parse, self) # type: ignore + event_parser.analyze(self) # type: ignore self._contract.events_as_dict[event.full_name] = event except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing event {e}") - self._eventsNotParsed = None + self._eventsNotParsed = [] # endregion ################################################################################### @@ -762,7 +764,7 @@ class ContractSolc(CallerContextExpression): ################################################################################### ################################################################################### - def delete_content(self): + def delete_content(self) -> None: """ Remove everything not parsed from the contract This is used only if something went wrong with the inheritance parsing @@ -827,7 +829,7 @@ class ContractSolc(CallerContextExpression): ################################################################################### ################################################################################### - def __hash__(self): + def __hash__(self) -> int: return self._contract.id # endregion diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 9671d9bbe..def68a8a3 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1,5 +1,5 @@ import logging -from typing import Dict, Optional, Union, List, TYPE_CHECKING, Tuple +from typing import Dict, Optional, Union, List, TYPE_CHECKING, Tuple, Set from slither.core.cfg.node import NodeType, link_nodes, insert_node, Node from slither.core.cfg.scope import Scope @@ -242,7 +242,7 @@ class FunctionSolc(CallerContextExpression): if "payable" in attributes: self._function.payable = attributes["payable"] - def analyze_params(self): + def analyze_params(self) -> None: # Can be re-analyzed due to inheritance if self._params_was_analyzed: return @@ -272,7 +272,7 @@ class FunctionSolc(CallerContextExpression): if returns: self._parse_returns(returns) - def analyze_content(self): + def analyze_content(self) -> None: if self._content_was_analyzed: return @@ -308,8 +308,8 @@ class FunctionSolc(CallerContextExpression): for node_parser in self._node_to_nodesolc.values(): node_parser.analyze_expressions(self) - for node_parser in self._node_to_yulobject.values(): - node_parser.analyze_expressions() + for yul_parser in self._node_to_yulobject.values(): + yul_parser.analyze_expressions() self._rewrite_ternary_as_if_else() @@ -1150,15 +1150,16 @@ class FunctionSolc(CallerContextExpression): if end_node: for son in node.sons: if son.type == NodeType.CATCH: - self._fix_catch(son, end_node) + self._fix_catch(son, end_node, set()) - def _fix_catch(self, node: Node, end_node: Node) -> None: + def _fix_catch(self, node: Node, end_node: Node, visited: Set[Node]) -> None: if not node.sons: link_nodes(node, end_node) else: for son in node.sons: - if son != end_node: - self._fix_catch(son, end_node) + if son != end_node and son not in visited: + visited.add(son) + self._fix_catch(son, end_node, visited) def _add_param(self, param: Dict) -> LocalVariableSolc: @@ -1297,7 +1298,7 @@ class FunctionSolc(CallerContextExpression): son.remove_father(node) node.set_sons(new_sons) - def _remove_alone_endif(self): + def _remove_alone_endif(self) -> None: """ Can occur on: if(..){ @@ -1395,8 +1396,7 @@ class FunctionSolc(CallerContextExpression): endif_node = self._new_node(NodeType.ENDIF, node.source_mapping, node.scope) for father in node.fathers: - father.remove_son(node) - father.add_son(condition_node.underlying_node) + father.replace_son(node, condition_node.underlying_node) condition_node.underlying_node.add_father(father) for son in node.sons: diff --git a/slither/solc_parsing/expressions/expression_parsing.py b/slither/solc_parsing/expressions/expression_parsing.py index ea433a921..d0dc4c7e0 100644 --- a/slither/solc_parsing/expressions/expression_parsing.py +++ b/slither/solc_parsing/expressions/expression_parsing.py @@ -481,11 +481,14 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) if name == "IndexAccess": if is_compact_ast: - index_type = expression["typeDescriptions"]["typeString"] + # We dont use the index type here, as we recover it later + # We could change the paradigm with the current AST parsing + # And do the type parsing in advanced for most of the operation + # index_type = expression["typeDescriptions"]["typeString"] left = expression["baseExpression"] right = expression.get("indexExpression", None) else: - index_type = expression["attributes"]["type"] + # index_type = expression["attributes"]["type"] children = expression["children"] left = children[0] right = children[1] if len(children) > 1 else None @@ -502,7 +505,7 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) left_expression = parse_expression(left, caller_context) right_expression = parse_expression(right, caller_context) - index = IndexAccess(left_expression, right_expression, index_type) + index = IndexAccess(left_expression, right_expression) index.set_offset(src, caller_context.compilation_unit) return index diff --git a/slither/solc_parsing/slither_compilation_unit_solc.py b/slither/solc_parsing/slither_compilation_unit_solc.py index b1c2387f0..cb94a7d9e 100644 --- a/slither/solc_parsing/slither_compilation_unit_solc.py +++ b/slither/solc_parsing/slither_compilation_unit_solc.py @@ -402,10 +402,7 @@ class SlitherCompilationUnitSolc(CallerContextExpression): # First we save all the contracts in a dict # the key is the contractid for contract in self._underlying_contract_to_parser: - if ( - contract.name.startswith("SlitherInternalTopLevelContract") - and not contract.is_top_level - ): + if contract.name.startswith("SlitherInternalTopLevelContract"): raise SlitherException( # region multi-line-string """Your codebase has a contract named 'SlitherInternalTopLevelContract'. diff --git a/slither/solc_parsing/variables/variable_declaration.py b/slither/solc_parsing/variables/variable_declaration.py index d21d89875..69b72a521 100644 --- a/slither/solc_parsing/variables/variable_declaration.py +++ b/slither/solc_parsing/variables/variable_declaration.py @@ -1,6 +1,6 @@ import logging import re -from typing import Dict, Optional +from typing import Dict, Optional, Union from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.expressions.expression_parsing import parse_expression @@ -42,12 +42,12 @@ class VariableDeclarationSolc: self._variable = variable self._was_analyzed = False - self._elem_to_parse = None - self._initializedNotParsed = None + self._elem_to_parse: Optional[Union[Dict, UnknownType]] = None + self._initializedNotParsed: Optional[Dict] = None self._is_compact_ast = False - self._reference_id = None + self._reference_id: Optional[int] = None if "nodeType" in variable_data: self._is_compact_ast = True @@ -87,7 +87,7 @@ class VariableDeclarationSolc: declaration = variable_data["children"][0] self._init_from_declaration(declaration, init) elif nodeType == "VariableDeclaration": - self._init_from_declaration(variable_data, False) + self._init_from_declaration(variable_data, None) else: raise ParsingError(f"Incorrect variable declaration type {nodeType}") @@ -101,6 +101,7 @@ class VariableDeclarationSolc: Return the solc id. It can be compared with the referencedDeclaration attr Returns None if it was not parsed (legacy AST) """ + assert self._reference_id return self._reference_id def _handle_comment(self, attributes: Dict) -> None: @@ -127,7 +128,7 @@ class VariableDeclarationSolc: self._variable.visibility = "internal" def _init_from_declaration( - self, var: Dict, init: Optional[bool] + self, var: Dict, init: Optional[Dict] ) -> None: # pylint: disable=too-many-branches if self._is_compact_ast: attributes = var @@ -195,7 +196,7 @@ class VariableDeclarationSolc: self._initializedNotParsed = init elif len(var["children"]) in [0, 1]: self._variable.initialized = False - self._initializedNotParsed = [] + self._initializedNotParsed = None else: assert len(var["children"]) == 2 self._variable.initialized = True @@ -212,5 +213,6 @@ class VariableDeclarationSolc: self._elem_to_parse = None if self._variable.initialized: + assert self._initializedNotParsed self._variable.expression = parse_expression(self._initializedNotParsed, caller_context) self._initializedNotParsed = None diff --git a/slither/tools/doctor/checks/versions.py b/slither/tools/doctor/checks/versions.py index ec7ef1d1f..00662b3e9 100644 --- a/slither/tools/doctor/checks/versions.py +++ b/slither/tools/doctor/checks/versions.py @@ -1,6 +1,6 @@ from importlib import metadata import json -from typing import Optional +from typing import Optional, Any import urllib from packaging.version import parse, Version @@ -17,6 +17,7 @@ def get_installed_version(name: str) -> Optional[Version]: def get_github_version(name: str) -> Optional[Version]: try: + # type: ignore with urllib.request.urlopen( f"https://api.github.com/repos/crytic/{name}/releases/latest" ) as response: @@ -27,7 +28,7 @@ def get_github_version(name: str) -> Optional[Version]: return None -def show_versions(**_kwargs) -> None: +def show_versions(**_kwargs: Any) -> None: versions = { "Slither": (get_installed_version("slither-analyzer"), get_github_version("slither")), "crytic-compile": ( diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 27e396d0b..84286ce66 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -79,9 +79,10 @@ def main() -> None: print(args.codebase) sl = Slither(args.codebase, **vars(args)) - for M in _get_mutators(): - m = M(sl) - m.mutate() + for compilation_unit in sl.compilation_units: + for M in _get_mutators(): + m = M(compilation_unit) + m.mutate() # endregion diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index 850c3c399..169d8725e 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -3,7 +3,7 @@ import logging from enum import Enum from typing import Optional, Dict -from slither import Slither +from slither.core.compilation_unit import SlitherCompilationUnit from slither.formatters.utils.patches import apply_patch, create_diff logger = logging.getLogger("Slither") @@ -34,8 +34,11 @@ class AbstractMutator(metaclass=abc.ABCMeta): # pylint: disable=too-few-public- FAULTCLASS = FaultClass.Undefined FAULTNATURE = FaultNature.Undefined - def __init__(self, slither: Slither, rate: int = 10, seed: Optional[int] = None): - self.slither = slither + def __init__( + self, compilation_unit: SlitherCompilationUnit, rate: int = 10, seed: Optional[int] = None + ): + self.compilation_unit = compilation_unit + self.slither = compilation_unit.core self.seed = seed self.rate = rate @@ -87,7 +90,7 @@ class AbstractMutator(metaclass=abc.ABCMeta): # pylint: disable=too-few-public- continue for patch in patches: patched_txt, offset = apply_patch(patched_txt, patch, offset) - diff = create_diff(self.slither, original_txt, patched_txt, file) + diff = create_diff(self.compilation_unit, original_txt, patched_txt, file) if not diff: logger.info(f"Impossible to generate patch; empty {patches}") print(diff) diff --git a/slither/tools/mutator/utils/command_line.py b/slither/tools/mutator/utils/command_line.py index 840976ccf..feb479c5c 100644 --- a/slither/tools/mutator/utils/command_line.py +++ b/slither/tools/mutator/utils/command_line.py @@ -18,6 +18,6 @@ def output_mutators(mutators_classes: List[Type[AbstractMutator]]) -> None: mutators_list = sorted(mutators_list, key=lambda element: (element[2], element[3], element[0])) idx = 1 for (argument, help_info, fault_class, fault_nature) in mutators_list: - table.add_row([idx, argument, help_info, fault_class, fault_nature]) + table.add_row([str(idx), argument, help_info, fault_class, fault_nature]) idx = idx + 1 print(table) diff --git a/slither/tools/read_storage/utils/utils.py b/slither/tools/read_storage/utils/utils.py index befd3d0e7..4a04a5b6d 100644 --- a/slither/tools/read_storage/utils/utils.py +++ b/slither/tools/read_storage/utils/utils.py @@ -1,7 +1,8 @@ from typing import Union from eth_typing.evm import ChecksumAddress -from eth_utils import to_checksum_address, to_int, to_text +from eth_utils import to_int, to_text, to_checksum_address +from web3 import Web3 def get_offset_value(hex_bytes: bytes, offset: int, size: int) -> bytes: @@ -48,7 +49,7 @@ def coerce_type( if "address" in solidity_type: if not isinstance(value, (str, bytes)): raise TypeError - return to_checksum_address(value) + return to_checksum_address(value) # type: ignore if not isinstance(value, bytes): raise TypeError @@ -56,7 +57,7 @@ def coerce_type( def get_storage_data( - web3, checksum_address: ChecksumAddress, slot: bytes, block: Union[int, str] + web3: Web3, checksum_address: ChecksumAddress, slot: bytes, block: Union[int, str] ) -> bytes: """ Retrieves the storage data from the blockchain at target address and slot. diff --git a/slither/tools/similarity/cache.py b/slither/tools/similarity/cache.py index 53fc7f5f0..ccd64b84b 100644 --- a/slither/tools/similarity/cache.py +++ b/slither/tools/similarity/cache.py @@ -1,4 +1,5 @@ import sys +from typing import Dict, Optional try: import numpy as np @@ -8,7 +9,7 @@ except ImportError: sys.exit(-1) -def load_cache(infile, nsamples=None): +def load_cache(infile: str, nsamples: Optional[int] = None) -> Dict: cache = {} with np.load(infile, allow_pickle=True) as data: array = data["arr_0"][0] @@ -20,5 +21,5 @@ def load_cache(infile, nsamples=None): return cache -def save_cache(cache, outfile): +def save_cache(cache: Dict, outfile: str) -> None: np.savez(outfile, [np.array(cache)]) diff --git a/slither/tools/upgradeability/checks/abstract_checks.py b/slither/tools/upgradeability/checks/abstract_checks.py index 016be2647..a3ab137a3 100644 --- a/slither/tools/upgradeability/checks/abstract_checks.py +++ b/slither/tools/upgradeability/checks/abstract_checks.py @@ -34,6 +34,8 @@ classification_txt = { CheckClassification.HIGH: "High", } +CHECK_INFO = List[Union[str, SupportedOutput]] + class AbstractCheck(metaclass=abc.ABCMeta): ARGUMENT = "" @@ -140,7 +142,7 @@ class AbstractCheck(metaclass=abc.ABCMeta): def generate_result( self, - info: Union[str, List[Union[str, SupportedOutput]]], + info: CHECK_INFO, additional_fields: Optional[Dict] = None, ) -> Output: output = Output( diff --git a/slither/tools/upgradeability/checks/constant.py b/slither/tools/upgradeability/checks/constant.py index a5a80bf5a..bd9814649 100644 --- a/slither/tools/upgradeability/checks/constant.py +++ b/slither/tools/upgradeability/checks/constant.py @@ -1,7 +1,11 @@ +from typing import List + from slither.tools.upgradeability.checks.abstract_checks import ( AbstractCheck, CheckClassification, + CHECK_INFO, ) +from slither.utils.output import Output class WereConstant(AbstractCheck): @@ -47,10 +51,12 @@ Do not remove `constant` from a state variables during an update. REQUIRE_CONTRACT = True REQUIRE_CONTRACT_V2 = True - def _check(self): + def _check(self) -> List[Output]: contract_v1 = self.contract contract_v2 = self.contract_v2 + if contract_v2 is None: + raise Exception("were-constant requires a V2 contract") state_variables_v1 = contract_v1.state_variables state_variables_v2 = contract_v2.state_variables @@ -81,7 +87,7 @@ Do not remove `constant` from a state variables during an update. v2_additional_variables -= 1 idx_v2 += 1 continue - info = [state_v1, " was constant, but ", state_v2, "is not.\n"] + info: CHECK_INFO = [state_v1, " was constant, but ", state_v2, "is not.\n"] json = self.generate_result(info) results.append(json) @@ -134,10 +140,13 @@ Do not make an existing state variable `constant`. REQUIRE_CONTRACT = True REQUIRE_CONTRACT_V2 = True - def _check(self): + def _check(self) -> List[Output]: contract_v1 = self.contract contract_v2 = self.contract_v2 + if contract_v2 is None: + raise Exception("became-constant requires a V2 contract") + state_variables_v1 = contract_v1.state_variables state_variables_v2 = contract_v2.state_variables @@ -169,7 +178,7 @@ Do not make an existing state variable `constant`. idx_v2 += 1 continue elif state_v2.is_constant: - info = [state_v1, " was not constant but ", state_v2, " is.\n"] + info: CHECK_INFO = [state_v1, " was not constant but ", state_v2, " is.\n"] json = self.generate_result(info) results.append(json) diff --git a/slither/tools/upgradeability/checks/variable_initialization.py b/slither/tools/upgradeability/checks/variable_initialization.py index e8ae9b26c..b4535ddfe 100644 --- a/slither/tools/upgradeability/checks/variable_initialization.py +++ b/slither/tools/upgradeability/checks/variable_initialization.py @@ -1,7 +1,11 @@ +from typing import List + from slither.tools.upgradeability.checks.abstract_checks import ( CheckClassification, AbstractCheck, + CHECK_INFO, ) +from slither.utils.output import Output class VariableWithInit(AbstractCheck): @@ -37,11 +41,11 @@ Using initialize functions to write initial values in state variables. REQUIRE_CONTRACT = True - def _check(self): + def _check(self) -> List[Output]: results = [] for s in self.contract.state_variables_ordered: if s.initialized and not (s.is_constant or s.is_immutable): - info = [s, " is a state variable with an initial value.\n"] + info: CHECK_INFO = [s, " is a state variable with an initial value.\n"] json = self.generate_result(info) results.append(json) return results diff --git a/slither/tools/upgradeability/checks/variables_order.py b/slither/tools/upgradeability/checks/variables_order.py index 030fb0f65..002559b6e 100644 --- a/slither/tools/upgradeability/checks/variables_order.py +++ b/slither/tools/upgradeability/checks/variables_order.py @@ -1,7 +1,13 @@ +from typing import List + +from slither.core.declarations import Contract from slither.tools.upgradeability.checks.abstract_checks import ( CheckClassification, AbstractCheck, + CHECK_INFO, ) +from slither.utils.upgradeability import get_missing_vars +from slither.utils.output import Output class MissingVariable(AbstractCheck): @@ -45,27 +51,18 @@ Do not change the order of the state variables in the updated contract. REQUIRE_CONTRACT = True REQUIRE_CONTRACT_V2 = True - def _check(self): + def _check(self) -> List[Output]: contract1 = self.contract contract2 = self.contract_v2 - order1 = [ - variable - for variable in contract1.state_variables_ordered - if not (variable.is_constant or variable.is_immutable) - ] - order2 = [ - variable - for variable in contract2.state_variables_ordered - if not (variable.is_constant or variable.is_immutable) - ] + + assert contract2 + missing = get_missing_vars(contract1, contract2) results = [] - for idx, _ in enumerate(order1): - variable1 = order1[idx] - if len(order2) <= idx: - info = ["Variable missing in ", contract2, ": ", variable1, "\n"] - json = self.generate_result(info) - results.append(json) + for variable1 in missing: + info: CHECK_INFO = ["Variable missing in ", contract2, ": ", variable1, "\n"] + json = self.generate_result(info) + results.append(json) return results @@ -108,13 +105,14 @@ Avoid variables in the proxy. If a variable is in the proxy, ensure it has the s REQUIRE_CONTRACT = True REQUIRE_PROXY = True - def _contract1(self): + def _contract1(self) -> Contract: return self.contract - def _contract2(self): + def _contract2(self) -> Contract: + assert self.proxy return self.proxy - def _check(self): + def _check(self) -> List[Output]: contract1 = self._contract1() contract2 = self._contract2() order1 = [ @@ -128,7 +126,7 @@ Avoid variables in the proxy. If a variable is in the proxy, ensure it has the s if not (variable.is_constant or variable.is_immutable) ] - results = [] + results: List[Output] = [] for idx, _ in enumerate(order1): if len(order2) <= idx: # Handle by MissingVariable @@ -137,7 +135,7 @@ Avoid variables in the proxy. If a variable is in the proxy, ensure it has the s variable1 = order1[idx] variable2 = order2[idx] if (variable1.name != variable2.name) or (variable1.type != variable2.type): - info = [ + info: CHECK_INFO = [ "Different variables between ", contract1, " and ", @@ -190,7 +188,8 @@ Respect the variable order of the original contract in the updated contract. REQUIRE_PROXY = False REQUIRE_CONTRACT_V2 = True - def _contract2(self): + def _contract2(self) -> Contract: + assert self.contract_v2 return self.contract_v2 @@ -235,13 +234,14 @@ Avoid variables in the proxy. If a variable is in the proxy, ensure it has the s REQUIRE_CONTRACT = True REQUIRE_PROXY = True - def _contract1(self): + def _contract1(self) -> Contract: return self.contract - def _contract2(self): + def _contract2(self) -> Contract: + assert self.proxy return self.proxy - def _check(self): + def _check(self) -> List[Output]: contract1 = self._contract1() contract2 = self._contract2() order1 = [ @@ -264,7 +264,7 @@ Avoid variables in the proxy. If a variable is in the proxy, ensure it has the s while idx < len(order2): variable2 = order2[idx] - info = ["Extra variables in ", contract2, ": ", variable2, "\n"] + info: CHECK_INFO = ["Extra variables in ", contract2, ": ", variable2, "\n"] json = self.generate_result(info) results.append(json) idx = idx + 1 @@ -299,5 +299,6 @@ Ensure that all the new variables are expected. REQUIRE_PROXY = False REQUIRE_CONTRACT_V2 = True - def _contract2(self): + def _contract2(self) -> Contract: + assert self.contract_v2 return self.contract_v2 diff --git a/slither/tools/upgradeability/utils/command_line.py b/slither/tools/upgradeability/utils/command_line.py index 88b61ceed..c5767a522 100644 --- a/slither/tools/upgradeability/utils/command_line.py +++ b/slither/tools/upgradeability/utils/command_line.py @@ -63,7 +63,7 @@ def output_detectors(detector_classes: List[Type[AbstractCheck]]) -> None: def output_to_markdown(detector_classes: List[Type[AbstractCheck]], _filter_wiki: str) -> None: - def extract_help(cls: AbstractCheck) -> str: + def extract_help(cls: Type[AbstractCheck]) -> str: if cls.WIKI == "": return cls.HELP return f"[{cls.HELP}]({cls.WIKI})" diff --git a/slither/utils/code_complexity.py b/slither/utils/code_complexity.py index a389663b3..aa7838499 100644 --- a/slither/utils/code_complexity.py +++ b/slither/utils/code_complexity.py @@ -35,7 +35,7 @@ def compute_strongly_connected_components(function: "Function") -> List[List["No components = [] l = [] - def visit(node): + def visit(node: "Node") -> None: if not visited[node]: visited[node] = True for son in node.sons: @@ -45,7 +45,7 @@ def compute_strongly_connected_components(function: "Function") -> List[List["No for n in function.nodes: visit(n) - def assign(node: "Node", root: List["Node"]): + def assign(node: "Node", root: List["Node"]) -> None: if not assigned[node]: assigned[node] = True root.append(node) diff --git a/slither/utils/code_generation.py b/slither/utils/code_generation.py new file mode 100644 index 000000000..951bf4702 --- /dev/null +++ b/slither/utils/code_generation.py @@ -0,0 +1,104 @@ +# Functions for generating Solidity code +from typing import TYPE_CHECKING, Optional + +from slither.utils.type import convert_type_for_solidity_signature_to_string + +if TYPE_CHECKING: + from slither.core.declarations import FunctionContract, Structure, Contract + + +def generate_interface(contract: "Contract") -> str: + """ + Generates code for a Solidity interface to the contract. + Args: + contract: A Contract object + + Returns: + A string with the code for an interface, with function stubs for all public or external functions and + state variables, as well as any events, custom errors and/or structs declared in the contract. + """ + interface = f"interface I{contract.name} {{\n" + for event in contract.events: + name, args = event.signature + interface += f" event {name}({', '.join(args)});\n" + for error in contract.custom_errors: + args = [ + convert_type_for_solidity_signature_to_string(arg.type) + .replace("(", "") + .replace(")", "") + for arg in error.parameters + ] + interface += f" error {error.name}({', '.join(args)});\n" + for enum in contract.enums: + interface += f" enum {enum.name} {{ {', '.join(enum.values)} }}\n" + for struct in contract.structures: + interface += generate_struct_interface_str(struct) + for var in contract.state_variables_entry_points: + interface += f" function {var.signature_str.replace('returns', 'external returns ')};\n" + for func in contract.functions_entry_points: + if func.is_constructor or func.is_fallback or func.is_receive: + continue + interface += f" function {generate_interface_function_signature(func)};\n" + interface += "}\n\n" + return interface + + +def generate_interface_function_signature(func: "FunctionContract") -> Optional[str]: + """ + Generates a string of the form: + func_name(type1,type2) external {payable/view/pure} returns (type3) + + Args: + func: A FunctionContract object + + Returns: + The function interface as a str (contains the return values). + Returns None if the function is private or internal, or is a constructor/fallback/receive. + """ + + name, parameters, return_vars = func.signature + if ( + func not in func.contract.functions_entry_points + or func.is_constructor + or func.is_fallback + or func.is_receive + ): + return None + view = " view" if func.view else "" + pure = " pure" if func.pure else "" + payable = " payable" if func.payable else "" + returns = [ + convert_type_for_solidity_signature_to_string(ret.type).replace("(", "").replace(")", "") + for ret in func.returns + ] + parameters = [ + convert_type_for_solidity_signature_to_string(param.type).replace("(", "").replace(")", "") + for param in func.parameters + ] + _interface_signature_str = ( + name + "(" + ",".join(parameters) + ") external" + payable + pure + view + ) + if len(return_vars) > 0: + _interface_signature_str += " returns (" + ",".join(returns) + ")" + return _interface_signature_str + + +def generate_struct_interface_str(struct: "Structure") -> str: + """ + Generates code for a structure declaration in an interface of the form: + struct struct_name { + elem1_type elem1_name; + elem2_type elem2_name; + ... ... + } + Args: + struct: A Structure object + + Returns: + The structure declaration code as a string. + """ + definition = f" struct {struct.name} {{\n" + for elem in struct.elems_ordered: + definition += f" {elem.type} {elem.name};\n" + definition += " }\n" + return definition diff --git a/slither/utils/colors.py b/slither/utils/colors.py index 5d688489b..1a2ff1da3 100644 --- a/slither/utils/colors.py +++ b/slither/utils/colors.py @@ -28,7 +28,7 @@ def enable_windows_virtual_terminal_sequences() -> bool: try: # pylint: disable=import-outside-toplevel - from ctypes import windll, byref + from ctypes import windll, byref # type: ignore from ctypes.wintypes import DWORD, HANDLE kernel32 = windll.kernel32 @@ -65,7 +65,7 @@ def enable_windows_virtual_terminal_sequences() -> bool: return True -def set_colorization_enabled(enabled: bool): +def set_colorization_enabled(enabled: bool) -> None: """ Sets the enabled state of output colorization. :param enabled: Boolean indicating whether output should be colorized. diff --git a/slither/utils/expression_manipulations.py b/slither/utils/expression_manipulations.py index 753778be9..75d97042c 100644 --- a/slither/utils/expression_manipulations.py +++ b/slither/utils/expression_manipulations.py @@ -21,7 +21,7 @@ from slither.core.expressions.new_array import NewArray from slither.core.expressions.new_contract import NewContract from slither.core.expressions.tuple_expression import TupleExpression from slither.core.expressions.type_conversion import TypeConversion - +from slither.core.expressions.new_elementary_type import NewElementaryType # pylint: disable=protected-access def f_expressions( @@ -100,7 +100,14 @@ class SplitTernaryExpression: if isinstance( expression, - (Literal, Identifier, NewArray, NewContract, ElementaryTypeNameExpression), + ( + Literal, + Identifier, + NewArray, + NewContract, + ElementaryTypeNameExpression, + NewElementaryType, + ), ): return diff --git a/slither/utils/myprettytable.py b/slither/utils/myprettytable.py index a1dfd7ac0..af10a6ff2 100644 --- a/slither/utils/myprettytable.py +++ b/slither/utils/myprettytable.py @@ -1,4 +1,4 @@ -from typing import List, Dict +from typing import List, Dict, Union from prettytable import PrettyTable @@ -8,7 +8,7 @@ class MyPrettyTable: self._field_names = field_names self._rows: List = [] - def add_row(self, row: List[str]) -> None: + def add_row(self, row: List[Union[str, List[str]]]) -> None: self._rows.append(row) def to_pretty_table(self) -> PrettyTable: diff --git a/slither/utils/output.py b/slither/utils/output.py index 9dba15e31..84c9ac65a 100644 --- a/slither/utils/output.py +++ b/slither/utils/output.py @@ -10,8 +10,17 @@ from zipfile import ZipFile from pkg_resources import require from slither.core.cfg.node import Node -from slither.core.declarations import Contract, Function, Enum, Event, Structure, Pragma +from slither.core.declarations import ( + Contract, + Function, + Enum, + Event, + Structure, + Pragma, + FunctionContract, +) from slither.core.source_mapping.source_mapping import SourceMapping +from slither.core.variables.local_variable import LocalVariable from slither.core.variables.variable import Variable from slither.exceptions import SlitherError from slither.utils.colors import yellow @@ -351,21 +360,19 @@ def _create_parent_element( ], ]: # pylint: disable=import-outside-toplevel - from slither.core.children.child_contract import ChildContract - from slither.core.children.child_function import ChildFunction - from slither.core.children.child_inheritance import ChildInheritance + from slither.core.declarations.contract_level import ContractLevel - if isinstance(element, ChildInheritance): + if isinstance(element, FunctionContract): if element.contract_declarer: contract = Output("") contract.add_contract(element.contract_declarer) return contract.data["elements"][0] - elif isinstance(element, ChildContract): + elif isinstance(element, ContractLevel): if element.contract: contract = Output("") contract.add_contract(element.contract) return contract.data["elements"][0] - elif isinstance(element, ChildFunction): + elif isinstance(element, (LocalVariable, Node)): if element.function: function = Output("") function.add_function(element.function) diff --git a/slither/utils/upgradeability.py b/slither/utils/upgradeability.py new file mode 100644 index 000000000..7b4e8493a --- /dev/null +++ b/slither/utils/upgradeability.py @@ -0,0 +1,580 @@ +from typing import Optional, Tuple, List, Union +from slither.core.declarations import ( + Contract, + Structure, + Enum, + SolidityVariableComposed, + SolidityVariable, + Function, +) +from slither.core.solidity_types import ( + Type, + ElementaryType, + ArrayType, + MappingType, + UserDefinedType, +) +from slither.core.variables.local_variable import LocalVariable +from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple +from slither.core.variables.state_variable import StateVariable +from slither.analyses.data_dependency.data_dependency import get_dependencies +from slither.core.variables.variable import Variable +from slither.core.expressions.literal import Literal +from slither.core.expressions.identifier import Identifier +from slither.core.expressions.call_expression import CallExpression +from slither.core.expressions.assignment_operation import AssignmentOperation +from slither.core.cfg.node import Node, NodeType +from slither.slithir.operations import ( + Operation, + Assignment, + Index, + Member, + Length, + Binary, + Unary, + Condition, + NewArray, + NewStructure, + NewContract, + NewElementaryType, + SolidityCall, + Delete, + EventCall, + LibraryCall, + InternalDynamicCall, + HighLevelCall, + LowLevelCall, + TypeConversion, + Return, + Transfer, + Send, + Unpack, + InitArray, + InternalCall, +) +from slither.slithir.variables import ( + TemporaryVariable, + TupleVariable, + Constant, + ReferenceVariable, +) +from slither.tools.read_storage.read_storage import SlotInfo, SlitherReadStorage + + +# pylint: disable=too-many-locals +def compare( + v1: Contract, v2: Contract +) -> Tuple[ + List[Variable], List[Variable], List[Variable], List[Function], List[Function], List[Function] +]: + """ + Compares two versions of a contract. Most useful for upgradeable (logic) contracts, + but does not require that Contract.is_upgradeable returns true for either contract. + + Args: + v1: Original version of (upgradeable) contract + v2: Updated version of (upgradeable) contract + + Returns: + missing-vars-in-v2: list[Variable], + new-variables: list[Variable], + tainted-variables: list[Variable], + new-functions: list[Function], + modified-functions: list[Function], + tainted-functions: list[Function] + """ + + order_vars1 = [ + v for v in v1.state_variables_ordered if not v.is_constant and not v.is_immutable + ] + order_vars2 = [ + v for v in v2.state_variables_ordered if not v.is_constant and not v.is_immutable + ] + func_sigs1 = [function.solidity_signature for function in v1.functions] + func_sigs2 = [function.solidity_signature for function in v2.functions] + + missing_vars_in_v2 = [] + new_variables = [] + tainted_variables = [] + new_functions = [] + modified_functions = [] + tainted_functions = [] + + # Since this is not a detector, include any missing variables in the v2 contract + if len(order_vars2) < len(order_vars1): + missing_vars_in_v2.extend(get_missing_vars(v1, v2)) + + # Find all new and modified functions in the v2 contract + new_modified_functions = [] + new_modified_function_vars = [] + for sig in func_sigs2: + function = v2.get_function_from_signature(sig) + orig_function = v1.get_function_from_signature(sig) + if sig not in func_sigs1: + new_modified_functions.append(function) + new_functions.append(function) + new_modified_function_vars += ( + function.state_variables_read + function.state_variables_written + ) + elif not function.is_constructor_variables and is_function_modified( + orig_function, function + ): + new_modified_functions.append(function) + modified_functions.append(function) + new_modified_function_vars += ( + function.state_variables_read + function.state_variables_written + ) + + # Find all unmodified functions that call a modified function or read/write the + # same state variable(s) as a new/modified function, i.e., tainted functions + for function in v2.functions: + if ( + function in new_modified_functions + or function.is_constructor + or function.name.startswith("slither") + ): + continue + modified_calls = [ + func for func in new_modified_functions if func in function.internal_calls + ] + tainted_vars = [ + var + for var in set(new_modified_function_vars) + if var in function.variables_read_or_written + and not var.is_constant + and not var.is_immutable + ] + if len(modified_calls) > 0 or len(tainted_vars) > 0: + tainted_functions.append(function) + + # Find all new or tainted variables, i.e., variables that are read or written by a new/modified/tainted function + for var in order_vars2: + read_by = v2.get_functions_reading_from_variable(var) + written_by = v2.get_functions_writing_to_variable(var) + if v1.get_state_variable_from_name(var.name) is None: + new_variables.append(var) + elif any( + func in read_by or func in written_by + for func in new_modified_functions + tainted_functions + ): + tainted_variables.append(var) + + return ( + missing_vars_in_v2, + new_variables, + tainted_variables, + new_functions, + modified_functions, + tainted_functions, + ) + + +def get_missing_vars(v1: Contract, v2: Contract) -> List[StateVariable]: + """ + Gets all non-constant/immutable StateVariables that appear in v1 but not v2 + Args: + v1: Contract version 1 + v2: Contract version 2 + + Returns: + List of StateVariables from v1 missing in v2 + """ + results = [] + order_vars1 = [ + v for v in v1.state_variables_ordered if not v.is_constant and not v.is_immutable + ] + order_vars2 = [ + v for v in v2.state_variables_ordered if not v.is_constant and not v.is_immutable + ] + if len(order_vars2) < len(order_vars1): + for variable in order_vars1: + if variable.name not in [v.name for v in order_vars2]: + results.append(variable) + return results + + +def is_function_modified(f1: Function, f2: Function) -> bool: + """ + Compares two versions of a function, and returns True if the function has been modified. + First checks whether the functions' content hashes are equal to quickly rule out identical functions. + Walks the CFGs and compares IR operations if hashes differ to rule out false positives, i.e., from changed comments. + + Args: + f1: Original version of the function + f2: New version of the function + + Returns: + True if the functions differ, otherwise False + """ + # If the function content hashes are the same, no need to investigate the function further + if f1.source_mapping.content_hash == f2.source_mapping.content_hash: + return False + # If the hashes differ, it is possible a change in a name or in a comment could be the only difference + # So we need to resort to walking through the CFG and comparing the IR operations + queue_f1 = [f1.entry_point] + queue_f2 = [f2.entry_point] + visited = [] + while len(queue_f1) > 0 and len(queue_f2) > 0: + node_f1 = queue_f1.pop(0) + node_f2 = queue_f2.pop(0) + visited.extend([node_f1, node_f2]) + queue_f1.extend(son for son in node_f1.sons if son not in visited) + queue_f2.extend(son for son in node_f2.sons if son not in visited) + for i, ir in enumerate(node_f1.irs): + if encode_ir_for_compare(ir) != encode_ir_for_compare(node_f2.irs[i]): + return True + return False + + +# pylint: disable=too-many-branches +def ntype(_type: Union[Type, str]) -> str: + if isinstance(_type, ElementaryType): + _type = str(_type) + elif isinstance(_type, ArrayType): + if isinstance(_type.type, ElementaryType): + _type = str(_type) + else: + _type = "user_defined_array" + elif isinstance(_type, Structure): + _type = str(_type) + elif isinstance(_type, Enum): + _type = str(_type) + elif isinstance(_type, MappingType): + _type = str(_type) + elif isinstance(_type, UserDefinedType): + if isinstance(_type.type, Contract): + _type = f"contract({_type.type.name})" + elif isinstance(_type.type, Structure): + _type = f"struct({_type.type.name})" + elif isinstance(_type.type, Enum): + _type = f"enum({_type.type.name})" + else: + _type = str(_type) + + _type = _type.replace(" memory", "") + _type = _type.replace(" storage ref", "") + + if "struct" in _type: + return "struct" + if "enum" in _type: + return "enum" + if "tuple" in _type: + return "tuple" + if "contract" in _type: + return "contract" + if "mapping" in _type: + return "mapping" + return _type.replace(" ", "_") + + +# pylint: disable=too-many-branches +def encode_ir_for_compare(ir: Operation) -> str: + # operations + if isinstance(ir, Assignment): + return f"({encode_var_for_compare(ir.lvalue)}):=({encode_var_for_compare(ir.rvalue)})" + if isinstance(ir, Index): + return f"index({ntype(ir.index_type)})" + if isinstance(ir, Member): + return "member" # .format(ntype(ir._type)) + if isinstance(ir, Length): + return "length" + if isinstance(ir, Binary): + return f"binary({str(ir.variable_left)}{str(ir.type)}{str(ir.variable_right)})" + if isinstance(ir, Unary): + return f"unary({str(ir.type)})" + if isinstance(ir, Condition): + return f"condition({encode_var_for_compare(ir.value)})" + if isinstance(ir, NewStructure): + return "new_structure" + if isinstance(ir, NewContract): + return "new_contract" + if isinstance(ir, NewArray): + return f"new_array({ntype(ir.array_type)})" + if isinstance(ir, NewElementaryType): + return f"new_elementary({ntype(ir.type)})" + if isinstance(ir, Delete): + return f"delete({encode_var_for_compare(ir.lvalue)},{encode_var_for_compare(ir.variable)})" + if isinstance(ir, SolidityCall): + return f"solidity_call({ir.function.full_name})" + if isinstance(ir, InternalCall): + return f"internal_call({ntype(ir.type_call)})" + if isinstance(ir, EventCall): # is this useful? + return "event" + if isinstance(ir, LibraryCall): + return "library_call" + if isinstance(ir, InternalDynamicCall): + return "internal_dynamic_call" + if isinstance(ir, HighLevelCall): # TODO: improve + return "high_level_call" + if isinstance(ir, LowLevelCall): # TODO: improve + return "low_level_call" + if isinstance(ir, TypeConversion): + return f"type_conversion({ntype(ir.type)})" + if isinstance(ir, Return): # this can be improved using values + return "return" # .format(ntype(ir.type)) + if isinstance(ir, Transfer): + return f"transfer({encode_var_for_compare(ir.call_value)})" + if isinstance(ir, Send): + return f"send({encode_var_for_compare(ir.call_value)})" + if isinstance(ir, Unpack): # TODO: improve + return "unpack" + if isinstance(ir, InitArray): # TODO: improve + return "init_array" + + # default + return "" + + +# pylint: disable=too-many-branches +def encode_var_for_compare(var: Variable) -> str: + + # variables + if isinstance(var, Constant): + return f"constant({ntype(var.type)})" + if isinstance(var, SolidityVariableComposed): + return f"solidity_variable_composed({var.name})" + if isinstance(var, SolidityVariable): + return f"solidity_variable{var.name}" + if isinstance(var, TemporaryVariable): + return "temporary_variable" + if isinstance(var, ReferenceVariable): + return f"reference({ntype(var.type)})" + if isinstance(var, LocalVariable): + return f"local_solc_variable({var.location})" + if isinstance(var, StateVariable): + return f"state_solc_variable({ntype(var.type)})" + if isinstance(var, LocalVariableInitFromTuple): + return "local_variable_init_tuple" + if isinstance(var, TupleVariable): + return "tuple_variable" + + # default + return "" + + +def get_proxy_implementation_slot(proxy: Contract) -> Optional[SlotInfo]: + """ + Gets information about the storage slot where a proxy's implementation address is stored. + Args: + proxy: A Contract object (proxy.is_upgradeable_proxy should be true). + + Returns: + (`SlotInfo`) | None : A dictionary of the slot information. + """ + + delegate = get_proxy_implementation_var(proxy) + if isinstance(delegate, StateVariable): + if not delegate.is_constant and not delegate.is_immutable: + srs = SlitherReadStorage([proxy], 20) + return srs.get_storage_slot(delegate, proxy) + if delegate.is_constant and delegate.type.name == "bytes32": + return SlotInfo( + name=delegate.name, + type_string="address", + slot=int(delegate.expression.value, 16), + size=160, + offset=0, + ) + return None + + +def get_proxy_implementation_var(proxy: Contract) -> Optional[Variable]: + """ + Gets the Variable that stores a proxy's implementation address. Uses data dependency to trace any LocalVariable + that is passed into a delegatecall as the target address back to its data source, ideally a StateVariable. + Can return a newly created StateVariable if an `sload` from a hardcoded storage slot is found in assembly. + Args: + proxy: A Contract object (proxy.is_upgradeable_proxy should be true). + + Returns: + (`Variable`) | None : The variable, ideally a StateVariable, which stores the proxy's implementation address. + """ + if not proxy.is_upgradeable_proxy or not proxy.fallback_function: + return None + + delegate = find_delegate_in_fallback(proxy) + if isinstance(delegate, LocalVariable): + dependencies = get_dependencies(delegate, proxy) + try: + delegate = next(var for var in dependencies if isinstance(var, StateVariable)) + except StopIteration: + return delegate + return delegate + + +def find_delegate_in_fallback(proxy: Contract) -> Optional[Variable]: + """ + Searches a proxy's fallback function for a delegatecall, then extracts the Variable being passed in as the target. + Can return a newly created StateVariable if an `sload` from a hardcoded storage slot is found in assembly. + Should typically be called by get_proxy_implementation_var(proxy). + Args: + proxy: A Contract object (should have a fallback function). + + Returns: + (`Variable`) | None : The variable being passed as the destination argument in a delegatecall in the fallback. + """ + delegate: Optional[Variable] = None + fallback = proxy.fallback_function + for node in fallback.all_nodes(): + for ir in node.irs: + if isinstance(ir, LowLevelCall) and ir.function_name == "delegatecall": + delegate = ir.destination + if delegate is not None: + break + if ( + node.type == NodeType.ASSEMBLY + and isinstance(node.inline_asm, str) + and "delegatecall" in node.inline_asm + ): + delegate = extract_delegate_from_asm(proxy, node) + elif node.type == NodeType.EXPRESSION: + expression = node.expression + if isinstance(expression, AssignmentOperation): + expression = expression.expression_right + if ( + isinstance(expression, CallExpression) + and "delegatecall" in str(expression.called) + and len(expression.arguments) > 1 + ): + dest = expression.arguments[1] + if isinstance(dest, CallExpression) and "sload" in str(dest.called): + dest = dest.arguments[0] + if isinstance(dest, Identifier): + delegate = dest.value + break + if ( + isinstance(dest, Literal) and len(dest.value) == 66 + ): # 32 bytes = 64 chars + "0x" = 66 chars + # Storage slot is not declared as a constant, but rather is hardcoded in the assembly, + # so create a new StateVariable to represent it. + delegate = create_state_variable_from_slot(dest.value) + break + return delegate + + +def extract_delegate_from_asm(contract: Contract, node: Node) -> Optional[Variable]: + """ + Finds a Variable with a name matching the argument passed into a delegatecall, when all we have is an Assembly node + with a block of code as one long string. Usually only the case for solc versions < 0.6.0. + Can return a newly created StateVariable if an `sload` from a hardcoded storage slot is found in assembly. + Should typically be called by find_delegate_in_fallback(proxy). + Args: + contract: The parent Contract. + node: The Assembly Node (i.e., node.type == NodeType.ASSEMBLY) + + Returns: + (`Variable`) | None : The variable being passed as the destination argument in a delegatecall in the fallback. + """ + asm_split = str(node.inline_asm).split("\n") + asm = next(line for line in asm_split if "delegatecall" in line) + params = asm.split("call(")[1].split(", ") + dest = params[1] + if dest.endswith(")") and not dest.startswith("sload("): + dest = params[2] + if dest.startswith("sload("): + dest = dest.replace(")", "(").split("(")[1] + if dest.startswith("0x"): + return create_state_variable_from_slot(dest) + if dest.isnumeric(): + slot_idx = int(dest) + return next( + ( + v + for v in contract.state_variables_ordered + if SlitherReadStorage.get_variable_info(contract, v)[0] == slot_idx + ), + None, + ) + for v in node.function.variables_read_or_written: + if v.name == dest: + if isinstance(v, LocalVariable) and v.expression is not None: + e = v.expression + if isinstance(e, Identifier) and isinstance(e.value, StateVariable): + v = e.value + # Fall through, return constant storage slot + if isinstance(v, StateVariable) and v.is_constant: + return v + if "_fallback_asm" in dest or "_slot" in dest: + dest = dest.split("_")[0] + return find_delegate_from_name(contract, dest, node.function) + + +def find_delegate_from_name( + contract: Contract, dest: str, parent_func: Function +) -> Optional[Variable]: + """ + Searches for a variable with a given name, starting with StateVariables declared in the contract, followed by + LocalVariables in the parent function, either declared in the function body or as parameters in the signature. + Can return a newly created StateVariable if an `sload` from a hardcoded storage slot is found in assembly. + Args: + contract: The Contract object to search. + dest: The variable name to search for. + parent_func: The Function object to search. + + Returns: + (`Variable`) | None : The variable with the matching name, if found + """ + for sv in contract.state_variables: + if sv.name == dest: + return sv + for lv in parent_func.local_variables: + if lv.name == dest: + return lv + for pv in parent_func.parameters + parent_func.returns: + if pv.name == dest: + return pv + if parent_func.contains_assembly: + for node in parent_func.all_nodes(): + if node.type == NodeType.ASSEMBLY and isinstance(node.inline_asm, str): + asm = next( + ( + s + for s in node.inline_asm.split("\n") + if f"{dest}:=sload(" in s.replace(" ", "") + ), + None, + ) + if asm: + slot = asm.split("sload(")[1].split(")")[0] + if slot.startswith("0x"): + return create_state_variable_from_slot(slot, name=dest) + try: + slot_idx = int(slot) + return next( + ( + v + for v in contract.state_variables_ordered + if SlitherReadStorage.get_variable_info(contract, v)[0] == slot_idx + ), + None, + ) + except TypeError: + continue + return None + + +def create_state_variable_from_slot(slot: str, name: str = None) -> Optional[StateVariable]: + """ + Creates a new StateVariable object to wrap a hardcoded storage slot found in assembly. + Args: + slot: The storage slot hex string. + name: Optional name for the variable. The slot string is used if name is not provided. + + Returns: + A newly created constant StateVariable of type bytes32, with the slot as the variable's expression and name, + if slot matches the length and prefix of a bytes32. Otherwise, returns None. + """ + if len(slot) == 66 and slot.startswith("0x"): # 32 bytes = 64 chars + "0x" = 66 chars + # Storage slot is not declared as a constant, but rather is hardcoded in the assembly, + # so create a new StateVariable to represent it. + v = StateVariable() + v.is_constant = True + v.expression = Literal(slot, ElementaryType("bytes32")) + if name is not None: + v.name = name + else: + v.name = slot + v.type = ElementaryType("bytes32") + return v + # This should probably also handle hashed strings, but for now return None + return None diff --git a/slither/visitors/expression/constants_folding.py b/slither/visitors/expression/constants_folding.py index 5f419ef99..12eb6be9d 100644 --- a/slither/visitors/expression/constants_folding.py +++ b/slither/visitors/expression/constants_folding.py @@ -1,6 +1,7 @@ from fractions import Fraction -from typing import Union, TYPE_CHECKING +from typing import Union +from slither.core import expressions from slither.core.expressions import ( BinaryOperationType, Literal, @@ -11,12 +12,11 @@ from slither.core.expressions import ( TupleExpression, TypeConversion, ) +from slither.core.variables import Variable from slither.utils.integer_conversion import convert_string_to_fraction, convert_string_to_int from slither.visitors.expression.expression import ExpressionVisitor - -if TYPE_CHECKING: - from slither.core.solidity_types.elementary_type import ElementaryType +from slither.core.solidity_types.elementary_type import ElementaryType class NotConstant(Exception): @@ -45,11 +45,19 @@ class ConstantFolding(ExpressionVisitor): def __init__( self, expression: CONSTANT_TYPES_OPERATIONS, custom_type: Union[str, "ElementaryType"] ) -> None: - self._type = custom_type + if isinstance(custom_type, str): + custom_type = ElementaryType(custom_type) + self._type: ElementaryType = custom_type super().__init__(expression) + @property + def expression(self) -> CONSTANT_TYPES_OPERATIONS: + # We make the assumption that the expression is always a CONSTANT_TYPES_OPERATIONS + # Other expression are not supported for constant unfolding + return self._expression # type: ignore + def result(self) -> "Literal": - value = get_val(self._expression) + value = get_val(self.expression) if isinstance(value, Fraction): value = int(value) # emulate 256-bit wrapping @@ -58,30 +66,75 @@ class ConstantFolding(ExpressionVisitor): return Literal(value, self._type) def _post_identifier(self, expression: Identifier) -> None: + if not isinstance(expression.value, Variable): + return if not expression.value.is_constant: raise NotConstant expr = expression.value.expression # assumption that we won't have infinite loop - if not isinstance(expr, Literal): + # Everything outside of literal + if isinstance( + expr, (BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion) + ): cf = ConstantFolding(expr, self._type) expr = cf.result() + assert isinstance(expr, Literal) set_val(expression, convert_string_to_int(expr.converted_value)) # pylint: disable=too-many-branches def _post_binary_operation(self, expression: BinaryOperation) -> None: - left = get_val(expression.expression_left) - right = get_val(expression.expression_right) - if expression.type == BinaryOperationType.POWER: - set_val(expression, left**right) - elif expression.type == BinaryOperationType.MULTIPLICATION: + expression_left = expression.expression_left + expression_right = expression.expression_right + if not isinstance( + expression_left, + (Literal, BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), + ): + raise NotConstant + if not isinstance( + expression_right, + (Literal, BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), + ): + raise NotConstant + + left = get_val(expression_left) + right = get_val(expression_right) + + if ( + expression.type == BinaryOperationType.POWER + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): + set_val(expression, left**right) # type: ignore + elif ( + expression.type == BinaryOperationType.MULTIPLICATION + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): set_val(expression, left * right) - elif expression.type == BinaryOperationType.DIVISION: - set_val(expression, left / right) - elif expression.type == BinaryOperationType.MODULO: + elif ( + expression.type == BinaryOperationType.DIVISION + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): + # TODO: maybe check for right + left to be int to use // ? + set_val(expression, left // right if isinstance(right, int) else left / right) + elif ( + expression.type == BinaryOperationType.MODULO + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): set_val(expression, left % right) - elif expression.type == BinaryOperationType.ADDITION: + elif ( + expression.type == BinaryOperationType.ADDITION + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): set_val(expression, left + right) - elif expression.type == BinaryOperationType.SUBTRACTION: + elif ( + expression.type == BinaryOperationType.SUBTRACTION + and isinstance(left, (int, Fraction)) + and isinstance(right, (int, Fraction)) + ): set_val(expression, left - right) # Convert to int for operations not supported by Fraction elif expression.type == BinaryOperationType.LEFT_SHIFT: @@ -118,7 +171,10 @@ class ConstantFolding(ExpressionVisitor): # Case of uint a = -7; uint[-a] arr; if expression.type == UnaryOperationType.MINUS_PRE: expr = expression.expression - if not isinstance(expr, Literal): + # Everything outside of literal + if isinstance( + expr, (BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion) + ): cf = ConstantFolding(expr, self._type) expr = cf.result() assert isinstance(expr, Literal) @@ -135,45 +191,66 @@ class ConstantFolding(ExpressionVisitor): except ValueError as e: raise NotConstant from e - def _post_assignement_operation(self, expression): + def _post_assignement_operation(self, expression: expressions.AssignmentOperation) -> None: raise NotConstant - def _post_call_expression(self, expression): + def _post_call_expression(self, expression: expressions.CallExpression) -> None: raise NotConstant - def _post_conditional_expression(self, expression): + def _post_conditional_expression(self, expression: expressions.ConditionalExpression) -> None: raise NotConstant - def _post_elementary_type_name_expression(self, expression): + def _post_elementary_type_name_expression( + self, expression: expressions.ElementaryTypeNameExpression + ) -> None: raise NotConstant - def _post_index_access(self, expression): + def _post_index_access(self, expression: expressions.IndexAccess) -> None: raise NotConstant - def _post_member_access(self, expression): + def _post_member_access(self, expression: expressions.MemberAccess) -> None: raise NotConstant - def _post_new_array(self, expression): + def _post_new_array(self, expression: expressions.NewArray) -> None: raise NotConstant - def _post_new_contract(self, expression): + def _post_new_contract(self, expression: expressions.NewContract) -> None: raise NotConstant - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: expressions.NewElementaryType) -> None: raise NotConstant - def _post_tuple_expression(self, expression): + def _post_tuple_expression(self, expression: expressions.TupleExpression) -> None: if expression.expressions: if len(expression.expressions) == 1: - cf = ConstantFolding(expression.expressions[0], self._type) + first_expr = expression.expressions[0] + if not isinstance( + first_expr, + ( + Literal, + BinaryOperation, + UnaryOperation, + Identifier, + TupleExpression, + TypeConversion, + ), + ): + raise NotConstant + cf = ConstantFolding(first_expr, self._type) expr = cf.result() assert isinstance(expr, Literal) set_val(expression, convert_string_to_fraction(expr.converted_value)) return raise NotConstant - def _post_type_conversion(self, expression): - cf = ConstantFolding(expression.expression, self._type) + def _post_type_conversion(self, expression: expressions.TypeConversion) -> None: + expr = expression.expression + if not isinstance( + expr, + (Literal, BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), + ): + raise NotConstant + cf = ConstantFolding(expr, self._type) expr = cf.result() assert isinstance(expr, Literal) set_val(expression, convert_string_to_fraction(expr.converted_value)) diff --git a/slither/visitors/expression/export_values.py b/slither/visitors/expression/export_values.py index f5ca39a96..0c51e7831 100644 --- a/slither/visitors/expression/export_values.py +++ b/slither/visitors/expression/export_values.py @@ -1,4 +1,15 @@ -from typing import Any, List +from typing import Any, List, Optional + +from slither.core.expressions import ( + AssignmentOperation, + ConditionalExpression, + ElementaryTypeNameExpression, + IndexAccess, + NewArray, + NewContract, + UnaryOperation, + NewElementaryType, +) from slither.visitors.expression.expression import ExpressionVisitor from slither.core.expressions.call_expression import CallExpression from slither.core.expressions.identifier import Identifier @@ -25,12 +36,16 @@ def set_val(expression: Expression, val: List[Any]) -> None: class ExportValues(ExpressionVisitor): - def result(self) -> List[Any]: + def __init__(self, expression: Expression) -> None: + self._result: Optional[List[Expression]] = None + super().__init__(expression) + + def result(self) -> List[Expression]: if self._result is None: self._result = list(set(get(self.expression))) return self._result - def _post_assignement_operation(self, expression): + def _post_assignement_operation(self, expression: AssignmentOperation) -> None: left = get(expression.expression_left) right = get(expression.expression_right) val = left + right @@ -49,20 +64,22 @@ class ExportValues(ExpressionVisitor): val = called + args set_val(expression, val) - def _post_conditional_expression(self, expression): + def _post_conditional_expression(self, expression: ConditionalExpression) -> None: if_expr = get(expression.if_expression) else_expr = get(expression.else_expression) then_expr = get(expression.then_expression) val = if_expr + else_expr + then_expr set_val(expression, val) - def _post_elementary_type_name_expression(self, expression): + def _post_elementary_type_name_expression( + self, expression: ElementaryTypeNameExpression + ) -> None: set_val(expression, []) def _post_identifier(self, expression: Identifier) -> None: set_val(expression, [expression.value]) - def _post_index_access(self, expression): + def _post_index_access(self, expression: IndexAccess) -> None: left = get(expression.expression_left) right = get(expression.expression_right) val = left + right @@ -76,13 +93,13 @@ class ExportValues(ExpressionVisitor): val = expr set_val(expression, val) - def _post_new_array(self, expression): + def _post_new_array(self, expression: NewArray) -> None: set_val(expression, []) - def _post_new_contract(self, expression): + def _post_new_contract(self, expression: NewContract) -> None: set_val(expression, []) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: set_val(expression, []) def _post_tuple_expression(self, expression: TupleExpression) -> None: @@ -95,7 +112,7 @@ class ExportValues(ExpressionVisitor): val = expr set_val(expression, val) - def _post_unary_operation(self, expression): + def _post_unary_operation(self, expression: UnaryOperation) -> None: expr = get(expression.expression) val = expr set_val(expression, val) diff --git a/slither/visitors/expression/expression.py b/slither/visitors/expression/expression.py index 464ea1285..41886a102 100644 --- a/slither/visitors/expression/expression.py +++ b/slither/visitors/expression/expression.py @@ -1,5 +1,4 @@ import logging -from typing import Optional, Any from slither.core.expressions.assignment_operation import AssignmentOperation from slither.core.expressions.binary_operation import BinaryOperation @@ -22,16 +21,14 @@ from slither.exceptions import SlitherError logger = logging.getLogger("ExpressionVisitor") +# pylint: disable=too-few-public-methods class ExpressionVisitor: def __init__(self, expression: Expression) -> None: - # Inherited class must declared their variables prior calling super().__init__ + super().__init__() + # Inherited class must declare their variables prior calling super().__init__ self._expression = expression - self._result: Any = None self._visit_expression(self.expression) - def result(self) -> Optional[bool]: - return self._result - @property def expression(self) -> Expression: return self._expression @@ -146,7 +143,7 @@ class ExpressionVisitor: def _visit_new_contract(self, expression: NewContract) -> None: pass - def _visit_new_elementary_type(self, expression): + def _visit_new_elementary_type(self, expression: NewElementaryType) -> None: pass def _visit_tuple_expression(self, expression: TupleExpression) -> None: @@ -162,7 +159,7 @@ class ExpressionVisitor: # pre visit - def _pre_visit(self, expression) -> None: # pylint: disable=too-many-branches + def _pre_visit(self, expression: Expression) -> None: # pylint: disable=too-many-branches if isinstance(expression, AssignmentOperation): self._pre_assignement_operation(expression) @@ -251,7 +248,7 @@ class ExpressionVisitor: def _pre_new_contract(self, expression: NewContract) -> None: pass - def _pre_new_elementary_type(self, expression): + def _pre_new_elementary_type(self, expression: NewElementaryType) -> None: pass def _pre_tuple_expression(self, expression: TupleExpression) -> None: @@ -265,7 +262,7 @@ class ExpressionVisitor: # post visit - def _post_visit(self, expression) -> None: # pylint: disable=too-many-branches + def _post_visit(self, expression: Expression) -> None: # pylint: disable=too-many-branches if isinstance(expression, AssignmentOperation): self._post_assignement_operation(expression) @@ -328,7 +325,7 @@ class ExpressionVisitor: def _post_call_expression(self, expression: CallExpression) -> None: pass - def _post_conditional_expression(self, expression): + def _post_conditional_expression(self, expression: ConditionalExpression) -> None: pass def _post_elementary_type_name_expression( @@ -354,7 +351,7 @@ class ExpressionVisitor: def _post_new_contract(self, expression: NewContract) -> None: pass - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: pass def _post_tuple_expression(self, expression: TupleExpression) -> None: diff --git a/slither/visitors/expression/expression_printer.py b/slither/visitors/expression/expression_printer.py index 317e1ace6..601627c02 100644 --- a/slither/visitors/expression/expression_printer.py +++ b/slither/visitors/expression/expression_printer.py @@ -1,97 +1,107 @@ +from typing import Optional + +from slither.core import expressions +from slither.core.expressions.expression import Expression from slither.visitors.expression.expression import ExpressionVisitor -def get(expression): +def get(expression: Expression) -> str: val = expression.context["ExpressionPrinter"] # we delete the item to reduce memory use del expression.context["ExpressionPrinter"] return val -def set_val(expression, val): +def set_val(expression: Expression, val: str) -> None: expression.context["ExpressionPrinter"] = val class ExpressionPrinter(ExpressionVisitor): - def result(self): + def __init__(self, expression: Expression) -> None: + self._result: Optional[str] = None + super().__init__(expression) + + def result(self) -> str: if not self._result: self._result = get(self.expression) return self._result - def _post_assignement_operation(self, expression): + def _post_assignement_operation(self, expression: expressions.AssignmentOperation) -> None: left = get(expression.expression_left) right = get(expression.expression_right) val = f"{left} {expression.type} {right}" set_val(expression, val) - def _post_binary_operation(self, expression): + def _post_binary_operation(self, expression: expressions.BinaryOperation) -> None: left = get(expression.expression_left) right = get(expression.expression_right) val = f"{left} {expression.type} {right}" set_val(expression, val) - def _post_call_expression(self, expression): + def _post_call_expression(self, expression: expressions.CallExpression) -> None: called = get(expression.called) arguments = ",".join([get(x) for x in expression.arguments if x]) val = f"{called}({arguments})" set_val(expression, val) - def _post_conditional_expression(self, expression): + def _post_conditional_expression(self, expression: expressions.ConditionalExpression) -> None: if_expr = get(expression.if_expression) else_expr = get(expression.else_expression) then_expr = get(expression.then_expression) val = f"if {if_expr} then {else_expr} else {then_expr}" set_val(expression, val) - def _post_elementary_type_name_expression(self, expression): + def _post_elementary_type_name_expression( + self, expression: expressions.ElementaryTypeNameExpression + ) -> None: set_val(expression, str(expression.type)) - def _post_identifier(self, expression): + def _post_identifier(self, expression: expressions.Identifier) -> None: set_val(expression, str(expression.value)) - def _post_index_access(self, expression): + def _post_index_access(self, expression: expressions.IndexAccess) -> None: left = get(expression.expression_left) right = get(expression.expression_right) val = f"{left}[{right}]" set_val(expression, val) - def _post_literal(self, expression): + def _post_literal(self, expression: expressions.Literal) -> None: set_val(expression, str(expression.value)) - def _post_member_access(self, expression): + def _post_member_access(self, expression: expressions.MemberAccess) -> None: expr = get(expression.expression) member_name = str(expression.member_name) val = f"{expr}.{member_name}" set_val(expression, val) - def _post_new_array(self, expression): + def _post_new_array(self, expression: expressions.NewArray) -> None: array = str(expression.array_type) depth = expression.depth val = f"new {array}{'[]' * depth}" set_val(expression, val) - def _post_new_contract(self, expression): + def _post_new_contract(self, expression: expressions.NewContract) -> None: contract = str(expression.contract_name) val = f"new {contract}" set_val(expression, val) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: expressions.NewElementaryType) -> None: t = str(expression.type) val = f"new {t}" set_val(expression, val) - def _post_tuple_expression(self, expression): - expressions = [get(e) for e in expression.expressions if e] - val = f"({','.join(expressions)})" + def _post_tuple_expression(self, expression: expressions.TupleExpression) -> None: + underlying_expressions = [get(e) for e in expression.expressions if e] + val = f"({','.join(underlying_expressions)})" set_val(expression, val) - def _post_type_conversion(self, expression): + def _post_type_conversion(self, expression: expressions.TypeConversion) -> None: t = str(expression.type) expr = get(expression.expression) val = f"{t}({expr})" set_val(expression, val) - def _post_unary_operation(self, expression): + def _post_unary_operation(self, expression: expressions.UnaryOperation) -> None: t = str(expression.type) expr = get(expression.expression) if expression.is_prefix: diff --git a/slither/visitors/expression/find_calls.py b/slither/visitors/expression/find_calls.py index 6653a9759..ce00533ed 100644 --- a/slither/visitors/expression/find_calls.py +++ b/slither/visitors/expression/find_calls.py @@ -1,5 +1,6 @@ -from typing import Any, Union, List +from typing import Any, Union, List, Optional +from slither.core.expressions import NewElementaryType from slither.core.expressions.expression import Expression from slither.visitors.expression.expression import ExpressionVisitor from slither.core.expressions.assignment_operation import AssignmentOperation @@ -32,6 +33,10 @@ def set_val(expression: Expression, val: List[Union[Any, CallExpression]]) -> No class FindCalls(ExpressionVisitor): + def __init__(self, expression: Expression) -> None: + self._result: Optional[List[Expression]] = None + super().__init__(expression) + def result(self) -> List[Expression]: if self._result is None: self._result = list(set(get(self.expression))) @@ -51,8 +56,8 @@ class FindCalls(ExpressionVisitor): def _post_call_expression(self, expression: CallExpression) -> None: called = get(expression.called) - args = [get(a) for a in expression.arguments if a] - args = [item for sublist in args for item in sublist] + argss = [get(a) for a in expression.arguments if a] + args = [item for sublist in argss for item in sublist] val = called + args val += [expression] set_val(expression, val) @@ -93,7 +98,7 @@ class FindCalls(ExpressionVisitor): def _post_new_contract(self, expression: NewContract) -> None: set_val(expression, []) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: set_val(expression, []) def _post_tuple_expression(self, expression: TupleExpression) -> None: diff --git a/slither/visitors/expression/find_push.py b/slither/visitors/expression/find_push.py deleted file mode 100644 index cf2b07e60..000000000 --- a/slither/visitors/expression/find_push.py +++ /dev/null @@ -1,96 +0,0 @@ -from slither.visitors.expression.expression import ExpressionVisitor - -from slither.visitors.expression.right_value import RightValue - -key = "FindPush" - - -def get(expression): - val = expression.context[key] - # we delete the item to reduce memory use - del expression.context[key] - return val - - -def set_val(expression, val): - expression.context[key] = val - - -class FindPush(ExpressionVisitor): - def result(self): - if self._result is None: - self._result = list(set(get(self.expression))) - return self._result - - def _post_assignement_operation(self, expression): - left = get(expression.expression_left) - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_binary_operation(self, expression): - left = get(expression.expression_left) - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_call_expression(self, expression): - called = get(expression.called) - args = [get(a) for a in expression.arguments if a] - args = [item for sublist in args for item in sublist] - val = called + args - set_val(expression, val) - - def _post_conditional_expression(self, expression): - if_expr = get(expression.if_expression) - else_expr = get(expression.else_expression) - then_expr = get(expression.then_expression) - val = if_expr + else_expr + then_expr - set_val(expression, val) - - def _post_elementary_type_name_expression(self, expression): - set_val(expression, []) - - # save only identifier expression - def _post_identifier(self, expression): - set_val(expression, []) - - def _post_index_access(self, expression): - left = get(expression.expression_left) - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_literal(self, expression): - set_val(expression, []) - - def _post_member_access(self, expression): - val = [] - if expression.member_name == "push": - right = RightValue(expression.expression) - val = right.result() - set_val(expression, val) - - def _post_new_array(self, expression): - set_val(expression, []) - - def _post_new_contract(self, expression): - set_val(expression, []) - - def _post_new_elementary_type(self, expression): - set_val(expression, []) - - def _post_tuple_expression(self, expression): - expressions = [get(e) for e in expression.expressions if e] - val = [item for sublist in expressions for item in sublist] - set_val(expression, val) - - def _post_type_conversion(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) - - def _post_unary_operation(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) diff --git a/slither/visitors/expression/has_conditional.py b/slither/visitors/expression/has_conditional.py index b866a696b..613138533 100644 --- a/slither/visitors/expression/has_conditional.py +++ b/slither/visitors/expression/has_conditional.py @@ -1,13 +1,15 @@ +from slither.core.expressions.expression import Expression from slither.visitors.expression.expression import ExpressionVisitor from slither.core.expressions.conditional_expression import ConditionalExpression class HasConditional(ExpressionVisitor): + def __init__(self, expression: Expression) -> None: + self._result: bool = False + super().__init__(expression) + def result(self) -> bool: - # == True, to convert None to false - return self._result is True + return self._result def _post_conditional_expression(self, expression: ConditionalExpression) -> None: - # if self._result is True: - # raise('Slither does not support nested ternary operator') self._result = True diff --git a/slither/visitors/expression/left_value.py b/slither/visitors/expression/left_value.py deleted file mode 100644 index 3b16c8c26..000000000 --- a/slither/visitors/expression/left_value.py +++ /dev/null @@ -1,109 +0,0 @@ -# Return the 'left' value of an expression - -from slither.visitors.expression.expression import ExpressionVisitor - -from slither.core.expressions.assignment_operation import AssignmentOperationType - -from slither.core.variables.variable import Variable - -key = "LeftValue" - - -def get(expression): - val = expression.context[key] - # we delete the item to reduce memory use - del expression.context[key] - return val - - -def set_val(expression, val): - expression.context[key] = val - - -class LeftValue(ExpressionVisitor): - def result(self): - if self._result is None: - self._result = list(set(get(self.expression))) - return self._result - - # overide index access visitor to explore only left part - def _visit_index_access(self, expression): - self._visit_expression(expression.expression_left) - - def _post_assignement_operation(self, expression): - if expression.type != AssignmentOperationType.ASSIGN: - left = get(expression.expression_left) - else: - left = [] - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_binary_operation(self, expression): - left = get(expression.expression_left) - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_call_expression(self, expression): - called = get(expression.called) - args = [get(a) for a in expression.arguments if a] - args = [item for sublist in args for item in sublist] - val = called + args - set_val(expression, val) - - def _post_conditional_expression(self, expression): - if_expr = get(expression.if_expression) - else_expr = get(expression.else_expression) - then_expr = get(expression.then_expression) - val = if_expr + else_expr + then_expr - set_val(expression, val) - - def _post_elementary_type_name_expression(self, expression): - set_val(expression, []) - - # save only identifier expression - def _post_identifier(self, expression): - if isinstance(expression.value, Variable): - set_val(expression, [expression.value]) - # elif isinstance(expression.value, SolidityInbuilt): - # set_val(expression, [expression]) - else: - set_val(expression, []) - - def _post_index_access(self, expression): - left = get(expression.expression_left) - val = left - set_val(expression, val) - - def _post_literal(self, expression): - set_val(expression, []) - - def _post_member_access(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) - - def _post_new_array(self, expression): - set_val(expression, []) - - def _post_new_contract(self, expression): - set_val(expression, []) - - def _post_new_elementary_type(self, expression): - set_val(expression, []) - - def _post_tuple_expression(self, expression): - expressions = [get(e) for e in expression.expressions if e] - val = [item for sublist in expressions for item in sublist] - set_val(expression, val) - - def _post_type_conversion(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) - - def _post_unary_operation(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) diff --git a/slither/visitors/expression/read_var.py b/slither/visitors/expression/read_var.py index e8f5aae67..a0efdde61 100644 --- a/slither/visitors/expression/read_var.py +++ b/slither/visitors/expression/read_var.py @@ -1,5 +1,6 @@ -from typing import Any, List, Union +from typing import Any, List, Union, Optional +from slither.core.expressions import NewElementaryType from slither.visitors.expression.expression import ExpressionVisitor from slither.core.expressions.assignment_operation import ( @@ -40,7 +41,11 @@ def set_val(expression: Expression, val: List[Union[Identifier, IndexAccess, Any class ReadVar(ExpressionVisitor): - def result(self) -> List[Union[Identifier, IndexAccess, Any]]: + def __init__(self, expression: Expression) -> None: + self._result: Optional[List[Expression]] = None + super().__init__(expression) + + def result(self) -> List[Expression]: if self._result is None: self._result = list(set(get(self.expression))) return self._result @@ -69,8 +74,8 @@ class ReadVar(ExpressionVisitor): def _post_call_expression(self, expression: CallExpression) -> None: called = get(expression.called) - args = [get(a) for a in expression.arguments if a] - args = [item for sublist in args for item in sublist] + argss = [get(a) for a in expression.arguments if a] + args = [item for sublist in argss for item in sublist] val = called + args set_val(expression, val) @@ -91,6 +96,7 @@ class ReadVar(ExpressionVisitor): if isinstance(expression.value, Variable): set_val(expression, [expression]) elif isinstance(expression.value, SolidityVariable): + # TODO: investigate if this branch can be reached, and if Identifier.value has the correct type set_val(expression, [expression]) else: set_val(expression, []) @@ -115,7 +121,7 @@ class ReadVar(ExpressionVisitor): def _post_new_contract(self, expression: NewContract) -> None: set_val(expression, []) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: set_val(expression, []) def _post_tuple_expression(self, expression: TupleExpression) -> None: diff --git a/slither/visitors/expression/right_value.py b/slither/visitors/expression/right_value.py deleted file mode 100644 index 5a97846bc..000000000 --- a/slither/visitors/expression/right_value.py +++ /dev/null @@ -1,115 +0,0 @@ -# Return the 'right' value of an expression -# On index access, explore the left -# on member access, return the member_name -# a.b.c[d] returns c - -from slither.visitors.expression.expression import ExpressionVisitor - -from slither.core.expressions.assignment_operation import AssignmentOperationType -from slither.core.expressions.expression import Expression - -from slither.core.variables.variable import Variable - -key = "RightValue" - - -def get(expression): - val = expression.context[key] - # we delete the item to reduce memory use - del expression.context[key] - return val - - -def set_val(expression, val): - expression.context[key] = val - - -class RightValue(ExpressionVisitor): - def result(self): - if self._result is None: - self._result = list(set(get(self.expression))) - return self._result - - # overide index access visitor to explore only left part - def _visit_index_access(self, expression): - self._visit_expression(expression.expression_left) - - def _post_assignement_operation(self, expression): - if expression.type != AssignmentOperationType.ASSIGN: - left = get(expression.expression_left) - else: - left = [] - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_binary_operation(self, expression): - left = get(expression.expression_left) - right = get(expression.expression_right) - val = left + right - set_val(expression, val) - - def _post_call_expression(self, expression): - called = get(expression.called) - args = [get(a) for a in expression.arguments if a] - args = [item for sublist in args for item in sublist] - val = called + args - set_val(expression, val) - - def _post_conditional_expression(self, expression): - if_expr = get(expression.if_expression) - else_expr = get(expression.else_expression) - then_expr = get(expression.then_expression) - val = if_expr + else_expr + then_expr - set_val(expression, val) - - def _post_elementary_type_name_expression(self, expression): - set_val(expression, []) - - # save only identifier expression - def _post_identifier(self, expression): - if isinstance(expression.value, Variable): - set_val(expression, [expression.value]) - # elif isinstance(expression.value, SolidityInbuilt): - # set_val(expression, [expression]) - else: - set_val(expression, []) - - def _post_index_access(self, expression): - left = get(expression.expression_left) - val = left - set_val(expression, val) - - def _post_literal(self, expression): - set_val(expression, []) - - def _post_member_access(self, expression): - val = [] - if isinstance(expression.member_name, Expression): - expr = get(expression.member_name) - val = expr - set_val(expression, val) - - def _post_new_array(self, expression): - set_val(expression, []) - - def _post_new_contract(self, expression): - set_val(expression, []) - - def _post_new_elementary_type(self, expression): - set_val(expression, []) - - def _post_tuple_expression(self, expression): - expressions = [get(e) for e in expression.expressions if e] - val = [item for sublist in expressions for item in sublist] - set_val(expression, val) - - def _post_type_conversion(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) - - def _post_unary_operation(self, expression): - expr = get(expression.expression) - val = expr - set_val(expression, val) diff --git a/slither/visitors/expression/write_var.py b/slither/visitors/expression/write_var.py index 97d3858e7..1c0b6108f 100644 --- a/slither/visitors/expression/write_var.py +++ b/slither/visitors/expression/write_var.py @@ -1,4 +1,6 @@ -from typing import Any, List +from typing import Any, List, Optional + +from slither.core.expressions import NewElementaryType from slither.visitors.expression.expression import ExpressionVisitor from slither.core.expressions.assignment_operation import AssignmentOperation from slither.core.expressions.binary_operation import BinaryOperation @@ -32,6 +34,10 @@ def set_val(expression: Expression, val: List[Any]) -> None: class WriteVar(ExpressionVisitor): + def __init__(self, expression: Expression) -> None: + self._result: Optional[List[Expression]] = None + super().__init__(expression) + def result(self) -> List[Any]: if self._result is None: self._result = list(set(get(self.expression))) @@ -123,7 +129,7 @@ class WriteVar(ExpressionVisitor): def _post_new_contract(self, expression: NewContract) -> None: set_val(expression, []) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: set_val(expression, []) def _post_tuple_expression(self, expression: TupleExpression) -> None: diff --git a/slither/visitors/slithir/expression_to_slithir.py b/slither/visitors/slithir/expression_to_slithir.py index c150ee20b..d55dfb589 100644 --- a/slither/visitors/slithir/expression_to_slithir.py +++ b/slither/visitors/slithir/expression_to_slithir.py @@ -1,14 +1,17 @@ import logging -from typing import Union, List, TYPE_CHECKING +from typing import Union, List, TYPE_CHECKING, Any +from slither.core import expressions from slither.core.declarations import ( Function, SolidityVariable, SolidityVariableComposed, SolidityFunction, Contract, + EnumContract, + EnumTopLevel, + Enum, ) -from slither.core.declarations.enum import Enum from slither.core.expressions import ( AssignmentOperation, AssignmentOperationType, @@ -18,6 +21,8 @@ from slither.core.expressions import ( CallExpression, Identifier, MemberAccess, + ConditionalExpression, + NewElementaryType, ) from slither.core.expressions.binary_operation import BinaryOperation from slither.core.expressions.expression import Expression @@ -27,7 +32,7 @@ from slither.core.expressions.new_array import NewArray from slither.core.expressions.new_contract import NewContract from slither.core.expressions.tuple_expression import TupleExpression from slither.core.expressions.unary_operation import UnaryOperation -from slither.core.solidity_types import ArrayType, ElementaryType, TypeAlias +from slither.core.solidity_types import ArrayType, ElementaryType, TypeAlias, UserDefinedType from slither.core.solidity_types.type import Type from slither.core.variables.local_variable import LocalVariable from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple @@ -71,18 +76,14 @@ logger = logging.getLogger("VISTIOR:ExpressionToSlithIR") key = "expressionToSlithIR" -def get(expression: Union[Expression, Operation]): +def get(expression: Expression) -> Any: val = expression.context[key] # we delete the item to reduce memory use del expression.context[key] return val -def get_without_removing(expression): - return expression.context[key] - - -def set_val(expression: Union[Expression, Operation], val) -> None: +def set_val(expression: Expression, val: Any) -> None: expression.context[key] = val @@ -121,7 +122,7 @@ def convert_assignment( left: Union[LocalVariable, StateVariable, ReferenceVariable], right: Union[LocalVariable, StateVariable, ReferenceVariable], t: AssignmentOperationType, - return_type, + return_type: Type, ) -> Union[Binary, Assignment]: if t == AssignmentOperationType.ASSIGN: return Assignment(left, right, return_type) @@ -150,6 +151,7 @@ def convert_assignment( class ExpressionToSlithIR(ExpressionVisitor): + # pylint: disable=super-init-not-called def __init__(self, expression: Expression, node: "Node") -> None: from slither.core.cfg.node import NodeType # pylint: disable=import-outside-toplevel @@ -171,11 +173,16 @@ class ExpressionToSlithIR(ExpressionVisitor): def _post_assignement_operation(self, expression: AssignmentOperation) -> None: left = get(expression.expression_left) right = get(expression.expression_right) + operation: Operation if isinstance(left, list): # tuple expression: if isinstance(right, list): # unbox assigment assert len(left) == len(right) for idx, _ in enumerate(left): - if not left[idx] is None: + if ( + not left[idx] is None + and expression.type + and expression.expression_return_type + ): operation = convert_assignment( left[idx], right[idx], @@ -220,6 +227,12 @@ class ExpressionToSlithIR(ExpressionVisitor): operation.set_expression(expression) self._result.append(operation) set_val(expression, left) + elif isinstance(left.type, ArrayType): + # Special case for init of array, when the right has only one element + operation = InitArray([right], left) + operation.set_expression(expression) + self._result.append(operation) + set_val(expression, left) else: operation = convert_assignment( left, right, expression.type, expression.expression_return_type @@ -276,6 +289,8 @@ class ExpressionToSlithIR(ExpressionVisitor): called = get(expression_called) args = [get(a) for a in expression.arguments if a] + val: Union[TupleVariable, TemporaryVariable] + var: Operation for arg in args: arg_ = Argument(arg) arg_.set_expression(expression) @@ -284,6 +299,7 @@ class ExpressionToSlithIR(ExpressionVisitor): # internal call # If tuple + if expression.type_call.startswith("tuple(") and expression.type_call != "tuple()": val = TupleVariable(self._node) else: @@ -302,7 +318,7 @@ class ExpressionToSlithIR(ExpressionVisitor): ): # wrap: underlying_type -> alias # unwrap: alias -> underlying_type - dest_type = ( + dest_type: Union[TypeAlias, ElementaryType] = ( called if expression_called.member_name == "wrap" else called.underlying_type ) val = TemporaryVariable(self._node) @@ -315,19 +331,19 @@ class ExpressionToSlithIR(ExpressionVisitor): # yul things elif called.name == "caller()": val = TemporaryVariable(self._node) - var = Assignment(val, SolidityVariableComposed("msg.sender"), "uint256") + var = Assignment(val, SolidityVariableComposed("msg.sender"), ElementaryType("uint256")) self._result.append(var) set_val(expression, val) elif called.name == "origin()": val = TemporaryVariable(self._node) - var = Assignment(val, SolidityVariableComposed("tx.origin"), "uint256") + var = Assignment(val, SolidityVariableComposed("tx.origin"), ElementaryType("uint256")) self._result.append(var) set_val(expression, val) elif called.name == "extcodesize(uint256)": - val = ReferenceVariable(self._node) - var = Member(args[0], Constant("codesize"), val) + val_ref = ReferenceVariable(self._node) + var = Member(args[0], Constant("codesize"), val_ref) self._result.append(var) - set_val(expression, val) + set_val(expression, val_ref) elif called.name == "selfbalance()": val = TemporaryVariable(self._node) var = TypeConversion(val, SolidityVariable("this"), ElementaryType("address")) @@ -346,7 +362,7 @@ class ExpressionToSlithIR(ExpressionVisitor): set_val(expression, val) elif called.name == "callvalue()": val = TemporaryVariable(self._node) - var = Assignment(val, SolidityVariableComposed("msg.value"), "uint256") + var = Assignment(val, SolidityVariableComposed("msg.value"), ElementaryType("uint256")) self._result.append(var) set_val(expression, val) @@ -373,7 +389,7 @@ class ExpressionToSlithIR(ExpressionVisitor): self._result.append(message_call) set_val(expression, val) - def _post_conditional_expression(self, expression): + def _post_conditional_expression(self, expression: ConditionalExpression) -> None: raise Exception(f"Ternary operator are not convertible to SlithIR {expression}") def _post_elementary_type_name_expression( @@ -388,12 +404,16 @@ class ExpressionToSlithIR(ExpressionVisitor): def _post_index_access(self, expression: IndexAccess) -> None: left = get(expression.expression_left) right = get(expression.expression_right) + operation: Operation # Left can be a type for abi.decode(var, uint[2]) - if isinstance(left, Type): + if isinstance(left, (Type, Contract, Enum)): # Nested type are not yet supported by abi.decode, so the assumption # Is that the right variable must be a constant assert isinstance(right, Constant) - t = ArrayType(left, right.value) + # Case for abi.decode(var, I[2]) where I is an interface/contract or an enum + if isinstance(left, (Contract, Enum)): + left = UserDefinedType(left) + t = ArrayType(left, int(right.value)) set_val(expression, t) return val = ReferenceVariable(self._node) @@ -406,13 +426,15 @@ class ExpressionToSlithIR(ExpressionVisitor): operation = InitArray(init_array_right, init_array_val) operation.set_expression(expression) self._result.append(operation) - operation = Index(val, left, right, expression.type) + operation = Index(val, left, right) operation.set_expression(expression) self._result.append(operation) set_val(expression, val) def _post_literal(self, expression: Literal) -> None: - cst = Constant(expression.value, expression.type, expression.subdenomination) + expression_type = expression.type + assert isinstance(expression_type, ElementaryType) + cst = Constant(expression.value, expression_type, expression.subdenomination) set_val(expression, cst) def _post_member_access(self, expression: MemberAccess) -> None: @@ -430,25 +452,33 @@ class ExpressionToSlithIR(ExpressionVisitor): assert len(expression.expression.arguments) == 1 val = TemporaryVariable(self._node) type_expression_found = expression.expression.arguments[0] + type_found: Union[ElementaryType, UserDefinedType] if isinstance(type_expression_found, ElementaryTypeNameExpression): - type_found = type_expression_found.type + type_expression_found_type = type_expression_found.type + assert isinstance(type_expression_found_type, ElementaryType) + type_found = type_expression_found_type + min_value = type_found.min + max_value = type_found.max constant_type = type_found else: # type(enum).max/min assert isinstance(type_expression_found, Identifier) - type_found = type_expression_found.value - assert isinstance(type_found, Enum) + type_found_in_expression = type_expression_found.value + assert isinstance(type_found_in_expression, (EnumContract, EnumTopLevel)) + type_found = UserDefinedType(type_found_in_expression) constant_type = None + min_value = type_found_in_expression.min + max_value = type_found_in_expression.max if expression.member_name == "min": op = Assignment( val, - Constant(str(type_found.min), constant_type), + Constant(str(min_value), constant_type), type_found, ) else: op = Assignment( val, - Constant(str(type_found.max), constant_type), + Constant(str(max_value), constant_type), type_found, ) self._result.append(op) @@ -494,11 +524,11 @@ class ExpressionToSlithIR(ExpressionVisitor): set_val(expression, expr.custom_errors_as_dict[expression.member_name]) return - val = ReferenceVariable(self._node) - member = Member(expr, Constant(expression.member_name), val) + val_ref = ReferenceVariable(self._node) + member = Member(expr, Constant(expression.member_name), val_ref) member.set_expression(expression) self._result.append(member) - set_val(expression, val) + set_val(expression, val_ref) def _post_new_array(self, expression: NewArray) -> None: val = TemporaryVariable(self._node) @@ -521,7 +551,7 @@ class ExpressionToSlithIR(ExpressionVisitor): self._result.append(operation) set_val(expression, val) - def _post_new_elementary_type(self, expression): + def _post_new_elementary_type(self, expression: NewElementaryType) -> None: # TODO unclear if this is ever used? val = TemporaryVariable(self._node) operation = TmpNewElementaryType(expression.type, val) @@ -530,17 +560,20 @@ class ExpressionToSlithIR(ExpressionVisitor): set_val(expression, val) def _post_tuple_expression(self, expression: TupleExpression) -> None: - expressions = [get(e) if e else None for e in expression.expressions] - if len(expressions) == 1: - val = expressions[0] + all_expressions = [get(e) if e else None for e in expression.expressions] + if len(all_expressions) == 1: + val = all_expressions[0] else: - val = expressions + val = all_expressions set_val(expression, val) - def _post_type_conversion(self, expression: TypeConversion) -> None: + def _post_type_conversion(self, expression: expressions.TypeConversion) -> None: + assert expression.expression expr = get(expression.expression) val = TemporaryVariable(self._node) - operation = TypeConversion(val, expr, expression.type) + expression_type = expression.type + assert isinstance(expression_type, (TypeAlias, UserDefinedType, ElementaryType)) + operation = TypeConversion(val, expr, expression_type) val.set_type(expression.type) operation.set_expression(expression) self._result.append(operation) @@ -549,6 +582,7 @@ class ExpressionToSlithIR(ExpressionVisitor): # pylint: disable=too-many-statements def _post_unary_operation(self, expression: UnaryOperation) -> None: value = get(expression.expression) + operation: Operation if expression.type in [UnaryOperationType.BANG, UnaryOperationType.TILD]: lvalue = TemporaryVariable(self._node) operation = Unary(lvalue, value, expression.type) @@ -592,6 +626,7 @@ class ExpressionToSlithIR(ExpressionVisitor): set_val(expression, value) elif expression.type in [UnaryOperationType.MINUS_PRE]: lvalue = TemporaryVariable(self._node) + assert isinstance(value.type, ElementaryType) operation = Binary(lvalue, Constant("0", value.type), value, BinaryType.SUBTRACTION) operation.set_expression(expression) self._result.append(operation) diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.0-compact.zip deleted file mode 100644 index 1706d2792..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.1-compact.zip deleted file mode 100644 index 155ab513e..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.10-compact.zip deleted file mode 100644 index 801a99921..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.11-compact.zip deleted file mode 100644 index 5d2ea6db8..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.12-compact.zip deleted file mode 100644 index e62ea14b0..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.2-compact.zip deleted file mode 100644 index a5d716685..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.3-compact.zip deleted file mode 100644 index 159da63ee..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.4-compact.zip deleted file mode 100644 index a86c89095..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.5-compact.zip deleted file mode 100644 index 67f38a938..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.6-compact.zip deleted file mode 100644 index 05ef1fec0..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.7-compact.zip deleted file mode 100644 index efb8b9285..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.8-compact.zip deleted file mode 100644 index ddf89e706..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/assembly-all.sol-0.4.9-compact.zip deleted file mode 100644 index bafb36ef9..000000000 Binary files a/tests/ast-parsing/compile/assembly-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 9da806ba5..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 98943a313..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 1159081ae..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index b447157ad..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index dcf8b215b..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 59d4f189a..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index ebb874ad6..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 18d1206a0..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 650801a50..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index c04ddc85c..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 39aa4657b..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 987183cb0..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index ad1a5bb0a..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-compact.zip deleted file mode 100644 index 7d5e07c66..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-compact.zip deleted file mode 100644 index 4d9c2b6fa..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-compact.zip deleted file mode 100644 index 4fab034c6..000000000 Binary files a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index d45c2dfc6..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 10d3fe21f..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index d6208b1b6..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 872ecf9c6..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 39d0a2363..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 9d1010dd3..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 91c3835a2..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 6093aa099..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 23cbcf742..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index a8d268e50..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 494a5517b..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 466903092..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index aec6c17b6..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-compact.zip deleted file mode 100644 index 213aa1c4c..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-compact.zip deleted file mode 100644 index 5d9f5c01e..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-compact.zip deleted file mode 100644 index 3b5619a13..000000000 Binary files a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.0-compact.zip deleted file mode 100644 index a6b748430..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.1-compact.zip deleted file mode 100644 index f182bfeab..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.10-compact.zip deleted file mode 100644 index 108bda5f8..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.11-compact.zip deleted file mode 100644 index 2fc982b56..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.12-compact.zip deleted file mode 100644 index e1ca95a9b..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.2-compact.zip deleted file mode 100644 index e4b8ebc5e..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.3-compact.zip deleted file mode 100644 index 266881ade..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.4-compact.zip deleted file mode 100644 index 3f3fe6981..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.5-compact.zip deleted file mode 100644 index 0094dbd66..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.6-compact.zip deleted file mode 100644 index 93bc7ec40..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.7-compact.zip deleted file mode 100644 index a6ff39c70..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.8-compact.zip deleted file mode 100644 index 676dd30cb..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/break-all.sol-0.4.9-compact.zip deleted file mode 100644 index fa0f3bcd6..000000000 Binary files a/tests/ast-parsing/compile/break-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-compact.zip deleted file mode 100644 index 5a7545588..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-compact.zip deleted file mode 100644 index 4daf225a4..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-compact.zip deleted file mode 100644 index 637d5848c..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-compact.zip deleted file mode 100644 index 2e32c3081..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-compact.zip deleted file mode 100644 index d32066c37..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-compact.zip deleted file mode 100644 index 897eb0b3f..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-compact.zip deleted file mode 100644 index b6e561cc5..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-compact.zip deleted file mode 100644 index 3164efafc..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-compact.zip deleted file mode 100644 index fa31d8731..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-compact.zip deleted file mode 100644 index 623ce5779..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-compact.zip deleted file mode 100644 index c0e4d2077..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-compact.zip deleted file mode 100644 index e413d5975..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-compact.zip deleted file mode 100644 index 83e2b41f9..000000000 Binary files a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.0-compact.zip deleted file mode 100644 index 256e5b09e..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.1-compact.zip deleted file mode 100644 index 2f8c1e677..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.10-compact.zip deleted file mode 100644 index 9261d885a..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.11-compact.zip deleted file mode 100644 index add845d17..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.12-compact.zip deleted file mode 100644 index 9edd6b98c..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.2-compact.zip deleted file mode 100644 index b6c1ae5a5..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.3-compact.zip deleted file mode 100644 index 9217c0114..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.4-compact.zip deleted file mode 100644 index a9b2f05c5..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.5-compact.zip deleted file mode 100644 index 2433c2243..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.6-compact.zip deleted file mode 100644 index 6d10e6245..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.7-compact.zip deleted file mode 100644 index 184053f1d..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.8-compact.zip deleted file mode 100644 index 672df8dc9..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/comment-all.sol-0.4.9-compact.zip deleted file mode 100644 index 9bfdf3d93..000000000 Binary files a/tests/ast-parsing/compile/comment-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.0-compact.zip deleted file mode 100644 index b4258c0dd..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.1-compact.zip deleted file mode 100644 index 866b4a248..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.10-compact.zip deleted file mode 100644 index 8e0e52b46..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.11-compact.zip deleted file mode 100644 index 6927b6e08..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.12-compact.zip deleted file mode 100644 index 71a9365ab..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.2-compact.zip deleted file mode 100644 index aef249d83..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.3-compact.zip deleted file mode 100644 index 39252d5a7..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.4-compact.zip deleted file mode 100644 index dc8d5b196..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.5-compact.zip deleted file mode 100644 index e73bf6784..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.6-compact.zip deleted file mode 100644 index 7e8850403..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.7-compact.zip deleted file mode 100644 index a6d5d821f..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.8-compact.zip deleted file mode 100644 index 566ae8cd0..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/conditional-all.sol-0.4.9-compact.zip deleted file mode 100644 index e2f623805..000000000 Binary files a/tests/ast-parsing/compile/conditional-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.0-compact.zip deleted file mode 100644 index f6e4949a2..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.1-compact.zip deleted file mode 100644 index 59bc61ff7..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.10-compact.zip deleted file mode 100644 index 0857699d0..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.11-compact.zip deleted file mode 100644 index 130cf931d..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.12-compact.zip deleted file mode 100644 index 26b9aaf3c..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.2-compact.zip deleted file mode 100644 index 14a5e92fa..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.3-compact.zip deleted file mode 100644 index 136ade415..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.4-compact.zip deleted file mode 100644 index 0231a4bf8..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.5-compact.zip deleted file mode 100644 index 5a6ab3c41..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.6-compact.zip deleted file mode 100644 index f66fcdfd3..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.7-compact.zip deleted file mode 100644 index 38fda51da..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.8-compact.zip deleted file mode 100644 index f8c057b2a..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/continue-all.sol-0.4.9-compact.zip deleted file mode 100644 index 61b1dc5eb..000000000 Binary files a/tests/ast-parsing/compile/continue-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 0a9969dfc..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 90adc2959..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 45b6b2ce1..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 2a613b0ef..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 53e751f43..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 8beb280ad..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index d0e85ffe2..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index f0f56fc97..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index e68ab5ad1..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index e5fa7148e..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index d6fcd038f..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index f8bcca38f..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index cd485e3e6..000000000 Binary files a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index a126eff99..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index d205c47e1..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 2b1e83605..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 959353445..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index a2d7bfd84..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 29abdce60..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 80cc05d39..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index a996fac15..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 4226876c2..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 0eeea5e4b..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 2b5b716cb..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 38bd0314c..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 5c43d16de..000000000 Binary files a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 7e52b797a..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 4bc34b2c9..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 7d9fadfa4..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index b3f271b1c..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 8c39b8636..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index ba560b732..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 82cf62181..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index b05806362..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 330c79a4d..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index fdcb8e1fd..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 48e26cdcd..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 25f7bf67e..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index b64c67aaa..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-compact.zip deleted file mode 100644 index 3a5919dd6..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-compact.zip deleted file mode 100644 index 7b8fda48f..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-compact.zip deleted file mode 100644 index ca166e1d2..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-compact.zip deleted file mode 100644 index 907a36c8b..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-compact.zip deleted file mode 100644 index 8b45ae314..000000000 Binary files a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 94d8f1746..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index d3a7dd22d..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 1d2295cf9..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 733c91ebb..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 95a93ab25..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 3a9e7b0f7..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 77929dc5e..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 9d9ce382b..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index b528a01ab..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 922ea3212..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 092f34582..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index a57d34d7b..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 6a4d08247..000000000 Binary files a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.0-compact.zip deleted file mode 100644 index c838a54b6..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.1-compact.zip deleted file mode 100644 index 733ee3eca..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.10-compact.zip deleted file mode 100644 index 1a3f53314..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.11-compact.zip deleted file mode 100644 index 09f5e898c..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.12-compact.zip deleted file mode 100644 index 5f6994d3e..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.2-compact.zip deleted file mode 100644 index 94bc711a5..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.3-compact.zip deleted file mode 100644 index b907d765e..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.4-compact.zip deleted file mode 100644 index 5019c71ab..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.5-compact.zip deleted file mode 100644 index 094627f53..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.6-compact.zip deleted file mode 100644 index fdb561b59..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.7-compact.zip deleted file mode 100644 index 923a5d564..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.8-compact.zip deleted file mode 100644 index 16033263e..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/event-all.sol-0.4.9-compact.zip deleted file mode 100644 index d55ce8aee..000000000 Binary files a/tests/ast-parsing/compile/event-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.0-compact.zip deleted file mode 100644 index 4da093235..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.1-compact.zip deleted file mode 100644 index b2db90197..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.10-compact.zip deleted file mode 100644 index 464634eae..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.11-compact.zip deleted file mode 100644 index d95541815..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.12-compact.zip deleted file mode 100644 index e61dd16f2..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.2-compact.zip deleted file mode 100644 index 88a7c88fc..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.3-compact.zip deleted file mode 100644 index 42922197c..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.4-compact.zip deleted file mode 100644 index 4e13933d2..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.5-compact.zip deleted file mode 100644 index 03c9f7d64..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.6-compact.zip deleted file mode 100644 index ca63e0770..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.7-compact.zip deleted file mode 100644 index cfb957b6b..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.8-compact.zip deleted file mode 100644 index 16aaf48ce..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/for-all.sol-0.4.9-compact.zip deleted file mode 100644 index 59430dcd2..000000000 Binary files a/tests/ast-parsing/compile/for-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index a60544f37..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 8a2b7c8e6..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 417498f09..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 897c38c1b..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 86d3cf909..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 50f407bc4..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 6a61992e9..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 0149f9127..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 2c9dd1437..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index fc57659d8..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index dd6d4a9fb..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index cc8c5f54d..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 68f7cd813..000000000 Binary files a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 81b81a12d..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 1fd6e3d15..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index d7b5ebe65..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index f5a7dff79..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 795897f98..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 24e0b6ef8..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 97e6eb0a0..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 184dbb9c3..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 34557b487..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index bc6e120a4..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index ccad3a103..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index af1817815..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index b3c0814dd..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-compact.zip deleted file mode 100644 index 3986c4464..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-compact.zip deleted file mode 100644 index bfb650619..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-compact.zip deleted file mode 100644 index 0048d18f2..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-compact.zip deleted file mode 100644 index e92a4113f..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-compact.zip deleted file mode 100644 index 0e318afef..000000000 Binary files a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.0-compact.zip deleted file mode 100644 index 7a145b088..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.1-compact.zip deleted file mode 100644 index 1df589548..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.10-compact.zip deleted file mode 100644 index e420651d7..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.11-compact.zip deleted file mode 100644 index e7f96c073..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.12-compact.zip deleted file mode 100644 index 109325993..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.2-compact.zip deleted file mode 100644 index f192e1bdf..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.3-compact.zip deleted file mode 100644 index 79dca5f7b..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.4-compact.zip deleted file mode 100644 index eb639d59b..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.5-compact.zip deleted file mode 100644 index 4144d9fc2..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.6-compact.zip deleted file mode 100644 index 568d28e19..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.7-compact.zip deleted file mode 100644 index 3a6700f44..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.8-compact.zip deleted file mode 100644 index 2b37f65d9..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/if-all.sol-0.4.9-compact.zip deleted file mode 100644 index f7aea0c2b..000000000 Binary files a/tests/ast-parsing/compile/if-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index c3df8f197..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 2ac5ca0a2..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index a2c2a6858..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index e18a558f7..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 80f829632..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 4208634f0..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 615d64e9c..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 7260f8578..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 09a35b921..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index fa073ae80..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index f476b2dbc..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 310a193fb..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 9a9c5ed1c..000000000 Binary files a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-compact.zip deleted file mode 100644 index dcd638901..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-compact.zip deleted file mode 100644 index d0b66563b..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-compact.zip deleted file mode 100644 index 210565e99..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-compact.zip deleted file mode 100644 index 6ba988580..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-compact.zip deleted file mode 100644 index 049ca5830..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-compact.zip deleted file mode 100644 index 57da238e1..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-compact.zip deleted file mode 100644 index 03f55060b..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-compact.zip deleted file mode 100644 index f4538a8d5..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-compact.zip deleted file mode 100644 index 709d796af..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-compact.zip deleted file mode 100644 index 48e621217..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-compact.zip deleted file mode 100644 index 3fee57ffa..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-compact.zip deleted file mode 100644 index abac94a2f..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-compact.zip deleted file mode 100644 index 1981b82f6..000000000 Binary files a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 90b1ca169..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 9ac8d38e3..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 7285eb78b..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 63883a0bb..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 62b2fba20..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index e8b0af128..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index c615690da..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index e156ef18a..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index a3dfd4e7c..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 1d4a33705..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 41dd7ed2e..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 14413ee76..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 33e3872ed..000000000 Binary files a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 4cd517835..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 2cee8a124..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 57d688f57..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index cde91509d..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 8b60c4b0a..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index f95251267..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 9710968d0..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 4919e6afe..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 417d4235c..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index cabd98531..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 1c6c85ca0..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index ec65a0820..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 2ee7cc133..000000000 Binary files a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 4db9fe732..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 09e6c647c..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 6c7d719e7..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 0e21c2d64..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index f8f308ff3..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 1cc77ce92..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 4246b0470..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 740a817e8..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index f663e5191..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 16e866a3b..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-compact.zip deleted file mode 100644 index 1c9217da0..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-compact.zip deleted file mode 100644 index 9be204381..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-compact.zip deleted file mode 100644 index cd96363a4..000000000 Binary files a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 420f61477..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 1bdcd301e..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index fbb2826c6..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 0ed1be336..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 9f0034712..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 18bd8076e..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 18b6d584d..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index a2d34d143..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 6b10d21ab..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 8c42985ed..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 853f3fc2d..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 0477fe97e..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index c49b8ffba..000000000 Binary files a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 2b6481a40..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 0ad8744fe..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index c300db837..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index f938f957d..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 54d9990d8..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 7e8909a3d..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index fa433847a..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 7b96d8d8e..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index a86c9c001..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 7c0946a74..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index eaf69ae41..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 229197f48..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 33483a679..000000000 Binary files a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.0-compact.zip deleted file mode 100644 index c6e39a8f0..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.1-compact.zip deleted file mode 100644 index 38729e076..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.10-compact.zip deleted file mode 100644 index 16f0e3694..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.11-compact.zip deleted file mode 100644 index 9eb504d53..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.12-compact.zip deleted file mode 100644 index bda6fe0e3..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.2-compact.zip deleted file mode 100644 index 61e616857..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.3-compact.zip deleted file mode 100644 index a1086e508..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.4-compact.zip deleted file mode 100644 index ca622d7f7..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.5-compact.zip deleted file mode 100644 index f19c5297d..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.6-compact.zip deleted file mode 100644 index ca3a1023f..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.7-compact.zip deleted file mode 100644 index 081953928..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.8-compact.zip deleted file mode 100644 index ad369947e..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/modifier-all.sol-0.4.9-compact.zip deleted file mode 100644 index 2646618af..000000000 Binary files a/tests/ast-parsing/compile/modifier-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 5313e848e..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index c35c4bc05..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index e3402eb0b..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 01b30fc47..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index bd60d3c5a..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 6c599b95d..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 9f0715bc7..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index ea9d6cc85..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 8c96e3e5e..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index cee68153f..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index bfa9d86b0..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index b47e082af..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 2d2364754..000000000 Binary files a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index a87ab476d..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 1db167805..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 321b6de17..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 67cbfa9b4..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index dc1a7d063..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 66dd20763..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 7cb157df3..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 971e5ec51..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 78a0a1cef..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index bce0b4ca8..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 7907dcf3b..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 9893308af..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index d1f21aca6..000000000 Binary files a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.0-compact.zip deleted file mode 100644 index f6ce655f9..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.1-compact.zip deleted file mode 100644 index 0b352da58..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.10-compact.zip deleted file mode 100644 index 06097b38d..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.11-compact.zip deleted file mode 100644 index 6cc0e405b..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.12-compact.zip deleted file mode 100644 index 500b89cf7..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.2-compact.zip deleted file mode 100644 index 91f9684cc..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.3-compact.zip deleted file mode 100644 index 435d68110..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.4-compact.zip deleted file mode 100644 index e3fc4b2df..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.5-compact.zip deleted file mode 100644 index 8cb30537d..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.6-compact.zip deleted file mode 100644 index fc7a48d77..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.7-compact.zip deleted file mode 100644 index 42fea6b22..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.8-compact.zip deleted file mode 100644 index 1287f591a..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/push-all.sol-0.4.9-compact.zip deleted file mode 100644 index 5d8eb3e91..000000000 Binary files a/tests/ast-parsing/compile/push-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.0-compact.zip deleted file mode 100644 index 0a0d2d41c..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.1-compact.zip deleted file mode 100644 index c2bbca470..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.10-compact.zip deleted file mode 100644 index a2558bca7..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.11-compact.zip deleted file mode 100644 index 2027042cc..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.12-compact.zip deleted file mode 100644 index fc36695a2..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.2-compact.zip deleted file mode 100644 index c8362191f..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.3-compact.zip deleted file mode 100644 index 92b4b9a95..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.4-compact.zip deleted file mode 100644 index 6b4b5b77f..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.5-compact.zip deleted file mode 100644 index 0e3fc47d9..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.6-compact.zip deleted file mode 100644 index d2766ae3b..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.7-compact.zip deleted file mode 100644 index 61d7e88aa..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.8-compact.zip deleted file mode 100644 index 68be094ba..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/return-all.sol-0.4.9-compact.zip deleted file mode 100644 index 99553d7dc..000000000 Binary files a/tests/ast-parsing/compile/return-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 711b5eb94..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 169872424..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index c4f113add..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index fcf013d55..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index ba97641b4..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index e067ec86d..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 453557a5f..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index c2d56e7db..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index a52c9d706..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 96f88ae4b..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 752bb0e88..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index dfda1dc05..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index f3952a39c..000000000 Binary files a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index cc0b7077b..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 8899331d2..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 30e46269d..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 9d9b261f5..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index ecf4061f5..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index be6dc15bf..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 7373558da..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 481c5f6c3..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 6f3295882..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 92cd8c63c..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index d15654fa6..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 599ccc56b..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 72408f10e..000000000 Binary files a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 5094554a2..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 5db3f34d1..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 6fac016b7..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 8577a2098..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 1718066d6..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 065212f4c..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 6d9679798..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 370194509..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 092670d17..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 024373737..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 990d316a8..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 4b4af9fec..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 7e0720e1e..000000000 Binary files a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 0da650633..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index ef3370c32..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index f53e4f0fe..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 07b5ca475..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 30b6c8921..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 1978e14b0..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index c224962b9..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 3631892ce..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index bc6cd7653..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 9d4e63236..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 14df7ee1d..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 8798c7090..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 18ba4c719..000000000 Binary files a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 63e40eb53..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 1baf4bbd3..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index dbb065a1c..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 4f7ef00fb..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 2262f75ef..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index f0987de5e..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 35b745cd3..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 884dd1fdd..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 6d4a5e7d9..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 4be173d5c..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index a78fa8269..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index c2f2d45b7..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 0f500e3ff..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 220cdd773..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 4eed7c4df..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 4d9d94a8f..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index ad61556bd..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 76d37562e..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 7b2a84f37..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index c11b97a2e..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index deae13944..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 7face0ad2..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index f2ce788ad..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index a0e32eeb4..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 618acd6b9..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index a43bea74c..000000000 Binary files a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 717487d00..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 47751c8f1..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 8e8f8731a..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index e639e843b..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 8af568ab2..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 02caba086..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 474058905..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index e269a7776..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 864c33f69..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 4c44f3ea8..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 0aa99a857..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 063aed596..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index a7e94c469..000000000 Binary files a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 22b920bac..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 20720dc16..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 8601d4343..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 5466f7c4e..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index fa901344c..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 4be2cc6f2..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 185637bcb..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 63e8292f1..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 82028258e..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index a0e77f003..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index ad69a33c6..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 0e9d6b0b9..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index f525e5571..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 032848091..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 5e8ea2137..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index d99045d83..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index ad3f06d9e..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index d620db472..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 4c1556028..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 7f58dbaa6..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index c1b7f044b..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 6d7a51eda..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 99b60f444..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index e1dddc3ad..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 5e9cefc70..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 1a9e076d1..000000000 Binary files a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 78a08584d..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip deleted file mode 100644 index e575a37a7..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 12593638b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip deleted file mode 100644 index b5ff45822..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 3e68895e3..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip deleted file mode 100644 index 3e68895e3..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 46d896ba0..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip deleted file mode 100644 index 46d896ba0..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index caf1e250b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip deleted file mode 100644 index caf1e250b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-compact.zip deleted file mode 100644 index 893be6e15..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip deleted file mode 100644 index 19bf8a628..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-compact.zip deleted file mode 100644 index 4c4a6fea8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip deleted file mode 100644 index 1058278ba..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-compact.zip deleted file mode 100644 index 70416a364..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip deleted file mode 100644 index b55301acb..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-compact.zip deleted file mode 100644 index 585772107..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip deleted file mode 100644 index 4f1b59289..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-compact.zip deleted file mode 100644 index 9345bdeae..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip deleted file mode 100644 index 586a547a8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-compact.zip deleted file mode 100644 index a05e97818..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip deleted file mode 100644 index dd97e98f8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-compact.zip deleted file mode 100644 index 4e2735589..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip deleted file mode 100644 index bb3ed0916..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 6ff7d2079..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip deleted file mode 100644 index dc1d153f2..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-compact.zip deleted file mode 100644 index ffa8bf7e3..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip deleted file mode 100644 index 1afd69691..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-compact.zip deleted file mode 100644 index 8cc43f937..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip deleted file mode 100644 index 373ef26f5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-compact.zip deleted file mode 100644 index a15d306ee..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip deleted file mode 100644 index 2bcc69b5b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-compact.zip deleted file mode 100644 index b6947abb7..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip deleted file mode 100644 index 53855299f..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-compact.zip deleted file mode 100644 index cf13bf1df..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip deleted file mode 100644 index 1efd90253..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-compact.zip deleted file mode 100644 index 5dd659273..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip deleted file mode 100644 index 93ab79e62..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-compact.zip deleted file mode 100644 index 0d8244537..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip deleted file mode 100644 index 2fc91c02e..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index ef5c33180..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip deleted file mode 100644 index 84389607b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 573d11209..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip deleted file mode 100644 index 5ca18e47c..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 54f03fd98..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip deleted file mode 100644 index 647a000a5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index e42a3d6d5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip deleted file mode 100644 index 3789051d3..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 820d53b0b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip deleted file mode 100644 index dc15b8aa5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 6e82dc4ac..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip deleted file mode 100644 index bb225993e..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 2f1075620..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip deleted file mode 100644 index 9a3eed511..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-compact.zip deleted file mode 100644 index 0efe02307..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip deleted file mode 100644 index c26b5136f..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-compact.zip deleted file mode 100644 index cd86e983a..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip deleted file mode 100644 index 1464d4e80..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-compact.zip deleted file mode 100644 index efcd0ace8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip deleted file mode 100644 index 17dd61c7c..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-compact.zip deleted file mode 100644 index b22cdd252..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip deleted file mode 100644 index 25ef23969..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-compact.zip deleted file mode 100644 index 17f51760a..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip deleted file mode 100644 index 8ea839faa..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-compact.zip deleted file mode 100644 index 73436f1cf..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip deleted file mode 100644 index b72984162..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-compact.zip deleted file mode 100644 index 0170741d0..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip deleted file mode 100644 index 33c1a3af1..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-compact.zip deleted file mode 100644 index e93b2f30b..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip deleted file mode 100644 index 2d8b4972f..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-compact.zip deleted file mode 100644 index 92d708ff4..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip deleted file mode 100644 index 8e302be60..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-compact.zip deleted file mode 100644 index f6cb59b38..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip deleted file mode 100644 index 688f47c1f..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-compact.zip deleted file mode 100644 index f0ec7ff95..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip deleted file mode 100644 index edb32dfb5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-compact.zip deleted file mode 100644 index 99b3caddb..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip deleted file mode 100644 index 663c9fca7..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-compact.zip deleted file mode 100644 index b48aa6ce8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip deleted file mode 100644 index 0d5652cc9..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-compact.zip deleted file mode 100644 index 09a9c2498..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip deleted file mode 100644 index 148e328f1..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-compact.zip deleted file mode 100644 index d63a357bc..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip deleted file mode 100644 index 6b7e40773..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-compact.zip deleted file mode 100644 index f6a35103a..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip deleted file mode 100644 index 0c57a77cd..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-compact.zip deleted file mode 100644 index 65bd0821e..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip deleted file mode 100644 index 20416fcd5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-compact.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-compact.zip deleted file mode 100644 index 02af66182..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip b/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip deleted file mode 100644 index 3df0e6026..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.0-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.0-compact.zip deleted file mode 100644 index 7c0ea0738..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.1-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.1-compact.zip deleted file mode 100644 index 75eb6e365..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.10-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.10-compact.zip deleted file mode 100644 index 7994b26aa..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.11-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.11-compact.zip deleted file mode 100644 index 3a68c78e0..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.12-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.12-compact.zip deleted file mode 100644 index b2ea3e787..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.2-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.2-compact.zip deleted file mode 100644 index 25d29cd4d..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.3-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.3-compact.zip deleted file mode 100644 index a823ddeed..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.4-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.4-compact.zip deleted file mode 100644 index c65af058a..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.5-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.5-compact.zip deleted file mode 100644 index 6a76e2343..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.6-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.6-compact.zip deleted file mode 100644 index 484818692..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.7-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.7-compact.zip deleted file mode 100644 index da0f908b8..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.8-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.8-compact.zip deleted file mode 100644 index 0e0da7559..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.9-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.9-compact.zip deleted file mode 100644 index 53b706ef0..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.0-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.0-compact.zip deleted file mode 100644 index eb45da206..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.1-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.1-compact.zip deleted file mode 100644 index 9e6e0ba18..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.2-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.2-compact.zip deleted file mode 100644 index fe35e98be..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.3-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.3-compact.zip deleted file mode 100644 index dc8ff53a5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.4-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.4-compact.zip deleted file mode 100644 index 76d39cfe7..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.5-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.5-compact.zip deleted file mode 100644 index 85e6c7dc3..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.6-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.6-compact.zip deleted file mode 100644 index 2ecda6bf7..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.0-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.0-compact.zip deleted file mode 100644 index 1856695dc..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.1-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.1-compact.zip deleted file mode 100644 index 79f2a5953..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.10-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.10-compact.zip deleted file mode 100644 index 9d8e4dfdf..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.11-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.11-compact.zip deleted file mode 100644 index 403b3aca9..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.12-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.12-compact.zip deleted file mode 100644 index 3c491c603..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip deleted file mode 100644 index d0f3c1b4c..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip deleted file mode 100644 index 8b16ed85a..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip deleted file mode 100644 index 3950995d1..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.2-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.2-compact.zip deleted file mode 100644 index 97a2ded43..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.3-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.3-compact.zip deleted file mode 100644 index 76a266d45..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.4-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.4-compact.zip deleted file mode 100644 index 655aa4304..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.5-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.5-compact.zip deleted file mode 100644 index a35d6db58..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.6-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.6-compact.zip deleted file mode 100644 index 69687eddd..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.7-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.7-compact.zip deleted file mode 100644 index aedae4c08..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.8-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.8-compact.zip deleted file mode 100644 index b6283d1b5..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.9-compact.zip b/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.9-compact.zip deleted file mode 100644 index 7c9b839a4..000000000 Binary files a/tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 90f578719..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 840f1acc5..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 83d5157ef..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index cbe3a4ce9..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 6c47ce2d3..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 4b46aaa24..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 6079a1a29..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index 3bbe42263..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 4bd1f117b..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index c31355467..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index d352808e2..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 5e832d19a..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 1e839e566..000000000 Binary files a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index ec96c376c..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 8b12a2088..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index b82c5ca67..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 34a12a2c6..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 7f8a326f8..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 956bdf8fe..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 6636e3872..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index aa19c491d..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 7517dd38b..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 90dcfef02..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 4b2910459..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 6cddbedac..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index b9b7f02c6..000000000 Binary files a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 8519eae27..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index d6310faf1..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 2fed8bfcd..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index 8d34d26cd..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index ddebde55f..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 190b6dfa9..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 4b663a52c..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index fc48c2ee5..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index fa3d81e8d..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index b56db74b0..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index c9198bd0d..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index b31a176d2..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 5ace5ea88..000000000 Binary files a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 0d7332970..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 2e64d022b..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index 477c44220..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index ae5e685ec..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index ec40cd79b..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 978de5038..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 015da39d8..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index ca890d83f..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 4fc156e0b..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index fa54d472f..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 7f0ff7f60..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index ef0f69935..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index f6c76b51b..000000000 Binary files a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index abe209825..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-compact.zip deleted file mode 100644 index 21c7a5ffe..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-compact.zip deleted file mode 100644 index 308daf50f..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-compact.zip deleted file mode 100644 index fec427a8b..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-compact.zip deleted file mode 100644 index 07414eeaa..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-compact.zip deleted file mode 100644 index f4c13dde6..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-compact.zip deleted file mode 100644 index 4f7e5eeef..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-compact.zip deleted file mode 100644 index cf46c5671..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-compact.zip deleted file mode 100644 index 0c372a833..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-compact.zip deleted file mode 100644 index 4d1e16cf7..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-compact.zip deleted file mode 100644 index c0d84035f..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-compact.zip deleted file mode 100644 index 7b4f16ca7..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-compact.zip deleted file mode 100644 index 33cdb06b5..000000000 Binary files a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index cb98f4432..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-compact.zip deleted file mode 100644 index 841d9e7dd..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-compact.zip deleted file mode 100644 index ce9feff43..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-compact.zip deleted file mode 100644 index a93390e05..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-compact.zip deleted file mode 100644 index 939a5a505..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-compact.zip deleted file mode 100644 index 889a809fb..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-compact.zip deleted file mode 100644 index 507932127..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-compact.zip deleted file mode 100644 index be658c943..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-compact.zip deleted file mode 100644 index 48bba839a..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-compact.zip deleted file mode 100644 index 9daf9f578..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-compact.zip deleted file mode 100644 index 46cf40ca0..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-compact.zip deleted file mode 100644 index 676e8547d..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-compact.zip deleted file mode 100644 index 525bda581..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-compact.zip deleted file mode 100644 index 9c69e7e3e..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-compact.zip deleted file mode 100644 index b31b81d54..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-compact.zip deleted file mode 100644 index 6acdfb038..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-compact.zip deleted file mode 100644 index b22b6367e..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-compact.zip deleted file mode 100644 index 69c3b3276..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-compact.zip deleted file mode 100644 index b280b7288..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-compact.zip deleted file mode 100644 index 95a96b824..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-compact.zip deleted file mode 100644 index 8fee98dbe..000000000 Binary files a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.0-compact.zip deleted file mode 100644 index 2a76e9dc8..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.1-compact.zip deleted file mode 100644 index 39b666489..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.10-compact.zip deleted file mode 100644 index 886615e7c..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.11-compact.zip deleted file mode 100644 index d39b277dc..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.12-compact.zip deleted file mode 100644 index 4a9c60829..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.2-compact.zip deleted file mode 100644 index e69c121dc..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.3-compact.zip deleted file mode 100644 index 47e4559f8..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.4-compact.zip deleted file mode 100644 index 52d323593..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.5-compact.zip deleted file mode 100644 index e666f1573..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.6-compact.zip deleted file mode 100644 index 18ae70fb3..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.7-compact.zip deleted file mode 100644 index 4d5d05823..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.8-compact.zip deleted file mode 100644 index 7bac18ff2..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/while-all.sol-0.4.9-compact.zip deleted file mode 100644 index 2219a89c1..000000000 Binary files a/tests/ast-parsing/compile/while-all.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-compact.zip b/tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-compact.zip deleted file mode 100644 index 2973a57bb..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-compact.zip deleted file mode 100644 index b8dc0b0b5..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-compact.zip deleted file mode 100644 index ad2387151..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-compact.zip deleted file mode 100644 index c7c0eeda9..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-compact.zip deleted file mode 100644 index 8eca43e25..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-compact.zip deleted file mode 100644 index 29f06ddb7..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-compact.zip deleted file mode 100644 index b18975f76..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-compact.zip deleted file mode 100644 index 178ed45d5..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-compact.zip deleted file mode 100644 index 13d995eec..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-compact.zip deleted file mode 100644 index 8f6233952..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-compact.zip b/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-compact.zip deleted file mode 100644 index 0e307907e..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-compact.zip b/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-compact.zip deleted file mode 100644 index 64d353234..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-compact.zip b/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-compact.zip deleted file mode 100644 index 17612f48b..000000000 Binary files a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-compact.zip and /dev/null differ diff --git a/tests/ast-parsing/expected/conditional-all.sol-0.4.0-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.0-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.0-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.1-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.1-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.1-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.10-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.10-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.10-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.11-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.11-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.11-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.2-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.2-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.2-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.3-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.3-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.3-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.4-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.4-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.4-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.5-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.5-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.5-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.6-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.6-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.6-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.7-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.7-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.7-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.8-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.8-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.8-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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.4.9-compact.json b/tests/ast-parsing/expected/conditional-all.sol-0.4.9-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.9-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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/trycatch-0.6.0.sol-0.6.0-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.0-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.0-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.1-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.1-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.1-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.10-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.10-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.10-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.11-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.11-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.11-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.12-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.12-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.12-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.2-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.2-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.2-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.3-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.3-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.3-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.4-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.4-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.4-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.5-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.5-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.5-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.6-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.6-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.6-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.7-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.7-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.7-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.8-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.8-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.8-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6.9-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.9-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.9-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.0-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.0-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.0-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.1-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.1-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.1-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.2-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.2-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.2-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.3-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.3-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.3-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.4-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.4-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.4-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.5-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.5-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.5-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7.6-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.6-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.6-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.0-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.0-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.0-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.1-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.1-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.1-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.10-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.10-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.10-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.11-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.11-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.11-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.12-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.12-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.12-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.13-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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 deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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 deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.2-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.2-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.2-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.3-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.3-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.3-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.4-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.4-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.4-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.5-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.5-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.5-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.6-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.6-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.6-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.7-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.7-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.7-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.8-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.8-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.8-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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.9-compact.json b/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.9-compact.json deleted file mode 100644 index 6099f6be4..000000000 --- a/tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.9-compact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..5ea228fd3 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,79 @@ +# pylint: disable=redefined-outer-name +import os +from pathlib import Path +import tempfile +import shutil +from contextlib import contextmanager +import pytest +from filelock import FileLock +from solc_select import solc_select +from slither import Slither + + +def pytest_configure(config): + """Create a temporary directory for the tests to use.""" + if is_master(): + config.stash["shared_directory"] = tempfile.mkdtemp() + + +def pytest_unconfigure(config): + """Remove the temporary directory after the tests are done.""" + if is_master(): + shutil.rmtree(config.stash["shared_directory"]) + + +def pytest_configure_node(node): + """Configure each worker node with the shared directory.""" + node.workerinput["shared_directory"] = node.config.stash["shared_directory"] + + +def is_master(): + """Returns True if the current process is the master process (which does not have a worker id).""" + return os.environ.get("PYTEST_XDIST_WORKER") is None + + +@pytest.fixture +def shared_directory(request): + """Returns the shared directory for the current process.""" + if is_master(): + return request.config.stash["shared_directory"] + return request.config.workerinput["shared_directory"] + + +@pytest.fixture +def solc_binary_path(shared_directory): + """ + Returns the path to the solc binary for the given version. + If the binary is not installed, it will be installed. + """ + + def inner(version): + lock = FileLock(f"{shared_directory}/{version}.lock", timeout=60) + with lock: + if not solc_select.artifact_path(version).exists(): + print("Installing solc version", version) + solc_select.install_artifacts([version]) + return solc_select.artifact_path(version).as_posix() + + return inner + + +@pytest.fixture +def slither_from_source(solc_binary_path): + @contextmanager + def inner(source_code: str, solc_version: str = "0.8.19"): + """Yields a Slither instance using source_code string and solc_version. + Creates a temporary file and compiles with solc_version. + """ + + fname = "" + try: + with tempfile.NamedTemporaryFile(mode="w", suffix=".sol", delete=False) as f: + fname = f.name + f.write(source_code) + solc_path = solc_binary_path(solc_version) + yield Slither(fname, solc=solc_path) + finally: + Path(fname).unlink() + + return inner diff --git a/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json deleted file mode 100644 index 9260ee2b9..000000000 --- a/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json +++ /dev/null @@ -1,1804 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1076, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "b = abi.encode(s)", - "source_mapping": { - "start": 1195, - "length": 30, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1076, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "0c50cf7f7b16d965ef04035beb09d25f3fa1fa4afeeb079ea42f2db879e8f1e9", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "event1_bad(bad_arr)", - "source_mapping": { - "start": 1415, - "length": 24, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "144c77aebb4037fe38c2864892ecb888a4fb7d5e92e321e664b2d2226658a166", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "this.bad0_external(bad_arr)", - "source_mapping": { - "start": 569, - "length": 27, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "3752da45df0ba78cc9ac01a10b398e4ad74e6ddd572764cf2f361e523a43a998", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - }, - { - "type": "node", - "name": "this.bad1_external(s)", - "source_mapping": { - "start": 763, - "length": 21, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - } - } - } - ], - "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "3febdd98f71332c80290c9557c5ef89ea9dbea4f520a084b0307f21b00da5010", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "b = abi.encode(bad_arr)", - "source_mapping": { - "start": 971, - "length": 36, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 5, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "d5860309d331920d1e3f44508fea706df75a4a7c2e93666ca96ca00ef32d7e01", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1511, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "event2_bad(s)", - "source_mapping": { - "start": 1630, - "length": 18, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1511, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "e77767c95f4548636027a859ca0c63402cfb50af242f116dd3cfc5b038a4128e", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json deleted file mode 100644 index 8b6cdd17f..000000000 --- a/tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json +++ /dev/null @@ -1,1804 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - }, - { - "type": "node", - "name": "this.bad1_external(s)", - "source_mapping": { - "start": 788, - "length": 21, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - } - } - } - ], - "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "04f20a6b780d160f34e95fca8f1dc426e8d05eaf7a452340a809bdeafcb84efb", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "b = abi.encode(s)", - "source_mapping": { - "start": 1220, - "length": 30, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "37e980d8d34fcffe10d2533052de986dd57c1d45700f02234332b275b532c71d", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "this.bad0_external(bad_arr)", - "source_mapping": { - "start": 578, - "length": 27, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "4755c0ac779753117c13ea710352c179c82da332c5be5f08ea5da28efa4c63b6", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "event1_bad(bad_arr)", - "source_mapping": { - "start": 1440, - "length": 24, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "6e9dfeb7f6ea7c989276fa8c5e27d71ab0f6b63ee878fb3f761dab9d07942246", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "event2_bad(s)", - "source_mapping": { - "start": 1655, - "length": 18, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "9c6da636be98419174c8e81e73efc09e7b942f9cf477cf0de793fb92c88fc976", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "b = abi.encode(bad_arr)", - "source_mapping": { - "start": 996, - "length": 36, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 5, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "e976cd11118a9f5aaacfe5715cef990140fd67c7a35682446aedc878b63b3b24", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json b/tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json deleted file mode 100644 index d31a3f423..000000000 --- a/tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "22de0efa869fce1767af15469c8bcc95616478aec05625ab72283df0ad9fae55", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1498, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "408ea319adfb46be330fd7775c13abf56f9d106eebcbcfe6574760309d93927e", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "82a43f5bf554d897b270abaac0ee62650383fe341adeff0d9c1c95b0040548a2", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1738, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "f7695706feb3a8409e367a88028dfad8c64e1000f1f71d6e55074d0dcfbc2305", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json b/tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json deleted file mode 100644 index cd4b2cb69..000000000 --- a/tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "57068db07fd7e67d0b63035936fad5a373fcb8f84bb6a58aa463278143db43fa", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "5983458eee02cf7d5484a82e17422dcdbd7b990305579e17d1252c0bb31e1cac", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1738, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "a8f319ba65d6c81726b72d7593eb089ce9819d22856387250e009a43a98cf1c3", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1498, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "e3ed372c52b219322ca290ecfa79be96d7ea1b019af329a515c6c10b7a1cf03b", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json b/tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json deleted file mode 100644 index 16cad916f..000000000 --- a/tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1564, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1756, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1564, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "1caf8efb7dd42f74884b4ee8d8b44585eeaa5758776ef8ac1e31b8aa749eac26", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1812, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2004, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1812, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "cc58852f92580ac18db192412ec7e50667bf56d986349ae8fe6990f0b04f9f62", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1312, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1516, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1312, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "f75bec4e068adbca017ad00b355347aa0c337b30a807fa8e1b80577b031e68fd", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 861, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1051, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 861, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "f90e97c676187cd6d727064001123d8537f5d8253d0a66ab6798b4a1c250a425", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json b/tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json deleted file mode 100644 index d243657e2..000000000 --- a/tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "63dc39bd9025d9fa7d39e07342e5652c010ff424e6d31ed9d1559f225c417956", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "7ebee7b534acb9d9502df84ba56fd0e90223cd262964c77cb9bee798eabd674b", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1050, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "ba2c627103717a52a46b52714313000eb4f9d96f57dfac874854a3747ace5a13", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "d56199ce2b7249389dffba8e53278f5ae32fbdda8a51cae8b5eb1cf2c09a0578", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json b/tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json deleted file mode 100644 index 9533e8bd0..000000000 --- a/tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "136a1b6c001d3ca4b1aab662556139786307e1bf4cb929f4c507d592eb38cb72", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "398cc3de119232bd6688c797ddfb4f84d7587dbf9f72f3056898bfc442a5fd85", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1050, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "429dd8afad02f0e6869b1de2a82bf36ab35aaf74ba5909de5facd767f4642f32", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "7841a86248d8345520e98b963d59de36814b25e5fa3cef9e031c61d05a7feb2a", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 8330b947c..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37", - "id": "430afa4e7855d25b1262162894fa21d58eea2571578d45de5399baf3eb438038", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1777, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67", - "id": "b2557d6385585034271b9873559de9cde4972e3207c43f260663f3d0e2a4d4a0", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1509, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59", - "id": "e7271d3fa958d20a025419c070ea1010431487e98e30fa2db65db9bf54a13665", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index c1ccea8b5..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1777, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67", - "id": "15a810d738734100851211c7e6bff65724d553eb693869575ec3d9c9bf47081c", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37", - "id": "6ca6aea5c4506ac7fa421c049e0bd41faa74317e303b94721bc64c2fc6e8f128", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1509, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59", - "id": "773c84f15f90123743b54aca858695d11603109f4da52c487ee4ae161f09411b", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 0e722340e..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 789, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 844, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 789, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37", - "id": "040cf50981f6e1dea1f7a19f0115811be1347e0637f0ca85d789ae612a509322", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1786, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67", - "id": "61438092d2da6c23ecfa13e5e55c489e538249e47bddd9335b533d28a242aea1", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1518, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59", - "id": "8551e9d33fdd4f73f1eb7776480b2e8cd2cf9c897b52285c3a287caab6822ce3", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 6ce6f095e..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59", - "id": "27c4a0e1a038beb0c01c86e07f1aef592f96907d330bcf899bde6632a9022327", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37", - "id": "820841ccd8aee0469f9719d62ad01054b71a758a1d6924ed6a19ea078ff8350a", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67", - "id": "9ecb2b9df9554b9ebdbcfd058eb44ba4f1524b285b676063432d5ede48aee5ad", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 740c797d8..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59", - "id": "196b46419f55696599f4a533ea4915c3b1c39be679d8e2ab15a60b7a0238d52c", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67", - "id": "6ba2ac6eeef603310a4b4f7931ab44fadb3a242517096e17c5f1e39f0f4b83cf", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37", - "id": "8972d014c645b3a3783400fb2a6a38b20ea38973481025b6f99b3c15c9e63868", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json b/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index ca64318a1..000000000 --- a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 88, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 138, - "length": 149, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,address(0x1),90)", - "source_mapping": { - "start": 234, - "length": 46, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 3, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 88, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 138, - "length": 149, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "T.bad(address) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12)\n", - "markdown": "[T.bad(address)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,address(0x1),90)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13", - "id": "51845f69be45c4d9b97ff3e01cbc5bf55d1c1cddcc4776f39e22dd803a241e46", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json b/tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json deleted file mode 100644 index aafd7c264..000000000 --- a/tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 181, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13", - "id": "672bdccd2e85fb88deee03d312d533259b73ca932965ae09e5b24a3b546c4ad2", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 337, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21", - "id": "9d50facc8382e844e7381f8ca9e389061bd0302345047de2407e0ad7b046687d", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json b/tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json deleted file mode 100644 index 6700ed92c..000000000 --- a/tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13", - "id": "7ded1859293ad51d129850d2f19669c7d38f4687a6e2afa8d93534d5f2a9a0ad", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21", - "id": "d27379ff48eebb6c568308104d444dc8f6b5ed5eae53f6c937aec9fb15cf6464", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json b/tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json deleted file mode 100644 index 289c78c69..000000000 --- a/tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21", - "id": "0ec491130aac4e23e6d47193bff49ed6029330bca373454b4e34ffba0a2baea6", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13", - "id": "51e87e03fc48363e666bb99c1d15beccb50464e1c170eeea5b76ec6fcde643e7", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json b/tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json deleted file mode 100644 index 693344ce9..000000000 --- a/tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21", - "id": "2e1bd6d1260cf35450734eb2027a2d964f61858a3aabd0cb459c22cb4da9956b", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13", - "id": "76af03df5e6d33df8978a2cc00dfe944236aca69ad1b7f107580da1b76121082", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json b/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json deleted file mode 100644 index 8ad16bf1e..000000000 --- a/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 855, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 822, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 855, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 822, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json b/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json deleted file mode 100644 index db06736f7..000000000 --- a/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json b/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json deleted file mode 100644 index 5cac825a3..000000000 --- a/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json b/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json deleted file mode 100644 index 571870ade..000000000 --- a/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json b/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json deleted file mode 100644 index df189604b..000000000 --- a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json +++ /dev/null @@ -1,181 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 700, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 724, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 191, - "length": 628, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 9, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 700, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 724, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20", - "id": "37ca62e9af93d1648d3a1aa845426ec5395eab836277e3a8baa52621bf1df7c3", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json b/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json deleted file mode 100644 index 23e574e22..000000000 --- a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json +++ /dev/null @@ -1,464 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 720, - "length": 114, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21 - ], - "starting_column": 13, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#18-21)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22", - "id": "7009ef6498fa29901fbf3e9e1971a19f6fa48c87be3b2592c632e05a4321e1d3", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1000, - "length": 677, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 9, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#26-47)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47", - "id": "e6c5e2eab9e98c206f4092988fc006a6333e737680610667cba168fe739a3cf6", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json b/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json deleted file mode 100644 index 78dd0929c..000000000 --- a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 198, - "length": 622, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20", - "id": "ac5f8f89c2d7459785200d5d861616e04a1bbcfbb2a39cef8bef6a03222c7c21", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json b/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json deleted file mode 100644 index 5c5045dce..000000000 --- a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 599, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 733, - "length": 104, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 599, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#18-20)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22", - "id": "abf9dce26719358da77702aa40f23104cc83044d0b1cffb492e318360fb72b6f", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 936, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1020, - "length": 671, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 936, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#26-46)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47", - "id": "c0078585e7d2fe02dda5ea48ddb48b40916db51afbee078f77bea648d1aa0315", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json b/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json deleted file mode 100644 index c9f88cdc7..000000000 --- a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 173, - "length": 622, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18", - "id": "00e51f7f223289ebaad73cd6e77329b37ff5be360d9a682614cb6b72b8e3d9b4", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json b/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json deleted file mode 100644 index 755e33a76..000000000 --- a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45", - "id": "5964c7440a9efb78bf78544bcdc60c789e3d9dff73438108bcb07ac98d60876a", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20", - "id": "a8d71513166310212c49c4edecbdf8fbc3040b1cb5b5756f0ad1971ae7d4cdb1", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json b/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json deleted file mode 100644 index 44096ea47..000000000 --- a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 173, - "length": 622, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18", - "id": "3b2ace4ab64f4fdd4436ae22d38a7db3efe8d2b65dca270af7fb18f281323670", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json b/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json deleted file mode 100644 index ca7efe695..000000000 --- a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45", - "id": "5cafb3e9d7d87c17203cf2c296eeec7de6b774b2a8d71908f8cfc9b8d916cb4b", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20", - "id": "a83582beb2c0460617fa82fbdfc38a050004e285749b17141b63e8051062248b", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json b/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json deleted file mode 100644 index 17c63551c..000000000 --- a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21", - "id": "47c8c39b084f8d339822d44f892cb049c1a3834f52fd48d2dcef80bac56996a3", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13", - "id": "849934acf882563bb79caed681f16909f03795bbbbe8338455d104d66a52314c", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8", - "id": "a01104ede08ddc5107a2d63d851930d477642029aeef70d6cb44eb2a640b282a", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json b/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json deleted file mode 100644 index 8b36fabfe..000000000 --- a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13", - "id": "ea912d34e8adabfd2ce93ecd5723df8d2e7ebec7e66de5fc56f3304c780488b3", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8", - "id": "ed7344e23d057576887c7e524b215bd0b52464ce035f686bab51b271460e43a0", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21", - "id": "feb1fef411c094fe2d2dac33e4932217dd550b8a89548417ef8a4da2fe99eea2", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json b/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json deleted file mode 100644 index 7cca66562..000000000 --- a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8", - "id": "5b8574d24925d841b9f041ba70166cc219ea6bcdd06c27d2f570740722b38380", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21", - "id": "6f4b2360043bf3035cc152b583d3462d8cc98e91de8577091fe3a0af569d5285", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13", - "id": "c27ede68d9d7c6159032f3aef6bf9fa491390317da33307fa783a93c1b675bd7", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json b/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json deleted file mode 100644 index a77ef95d5..000000000 --- a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21", - "id": "4b31923b05dec7d68f1bf133b986b4ec06fcc82ff3b8f0414d3ee3d623b69265", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13", - "id": "60ad080e2f9647b400851918171383a9aac2900cc0828121e441db4240911fba", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8", - "id": "a710d11e5510f0eb3acb2c1ec524779253f25bf2931bce4cb9c5c048ec586b80", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json b/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json deleted file mode 100644 index ff6fcc3e7..000000000 --- a/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.4.25/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json b/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json deleted file mode 100644 index a21e52748..000000000 --- a/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.5.16/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json b/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json deleted file mode 100644 index 2e254f013..000000000 --- a/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.6.11/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json b/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json deleted file mode 100644 index b09263321..000000000 --- a/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.7.6/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json deleted file mode 100644 index 00a4712df..000000000 --- a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11", - "id": "4b8abd9aa6870f3044de67a84b3139e4a79c9ac13b4c0ed4f0772713f12c709b", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json deleted file mode 100644 index 8c66dccf6..000000000 --- a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11", - "id": "bd4514763d71bc7fcb2a681b1fe98928e9d1dd92882c5fe0480e52cba9130cfe", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json deleted file mode 100644 index 54f6ad089..000000000 --- a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11", - "id": "81067a443028f22790f44718bff947b7ec6de12b929bd89147d3b34044b3890d", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json deleted file mode 100644 index 66487e917..000000000 --- a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11", - "id": "d96572f8601700902d157c2b4ad0b66254eba7a6d9c83710f26ea8cbdf2085fa", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json b/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json deleted file mode 100644 index e97707d56..000000000 --- a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9", - "id": "55ba7d7edfd3cc9012d1fbd9d2ba12a488d950a885c3664fe080b90288a2c715", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json b/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json deleted file mode 100644 index ff61bd74e..000000000 --- a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9", - "id": "be01fe651d102dc47ca3eb623ba9078138896f662948665b8d4e03780305c085", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json b/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json deleted file mode 100644 index 9d09a172b..000000000 --- a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9", - "id": "0f863694c7b456673256b0f8002c9ac9f050b89b9ec3c86936c6399b3eb4b2e1", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json b/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json deleted file mode 100644 index 47518ce83..000000000 --- a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9", - "id": "7c89c8f828e73eb875b8f06bb1404ed2271cc5806f167d621604c23f62705f60", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json deleted file mode 100644 index 866fd948e..000000000 --- a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 530, - "length": 135, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "destinations[i].transfer(i)", - "source_mapping": { - "start": 621, - "length": 27, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 530, - "length": 135, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: destinations[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [destinations[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28", - "id": "257715445371826f92add7e2202ff42cb445394069844c805c9bd7c46d0e0c78", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1074, - "length": 81, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "a.transfer(i)", - "source_mapping": { - "start": 1135, - "length": 13, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1074, - "length": 81, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: a.transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [a.transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47", - "id": "29874ab93647beebd98e69e6e02bfb9e8d07d22d82990b77e1e33ea9d64caddc", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 173, - "length": 150, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 325, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "destinations_base[i].transfer(i)", - "source_mapping": { - "start": 274, - "length": 32, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 173, - "length": 150, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 325, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations_base[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [destinations_base[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13", - "id": "66e6cb3d36ce6385ebe80eb42e75cfcc0be03eee32eb49b287c75258de7433f6", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 671, - "length": 245, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "destinations[i].transfer(i)", - "source_mapping": { - "start": 872, - "length": 27, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 671, - "length": 245, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: destinations[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [destinations[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37", - "id": "bcf4888be2bdca9c6e3794ed50d3a0c4cbffe97f6cafdd8c9f6b2a940f92330d", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json deleted file mode 100644 index 7044ba0c0..000000000 --- a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L30-L37", - "id": "25c86080b32e786ebc200a68d29ce99aac3f426760b120f9bd359930a78e1e31", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13", - "id": "5d659f8e891bf51f3542d3726e0d26bd7e5c23a48baba9356b6204fda561eb77", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L24-L28", - "id": "6cced5074b9c311682f603c75163ced753ba6a4ecca39cf4d565eef3f05b30f8", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47", - "id": "a1df0d2cf47c14477c09214cc502b7706bf41258ef6f47452fa80dc24dea5647", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json deleted file mode 100644 index 5cff7537b..000000000 --- a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37", - "id": "3b1948778e97667e6e749205edf70beeac8b8db364e68da43900136e2e7f4c8b", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28", - "id": "5aef9fe610ef0caca726874226906ac1246d969d2d8ed6cde33e09601d0c7117", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13", - "id": "676f5509699708442e5b513a2250f8e0e64781b139d2eafd86273c17528a16ce", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47", - "id": "cc16e95c30a63cb84d8ed1c59e3cc1fd338d861e8c8a2973764e017df3c2f38f", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json deleted file mode 100644 index dda5cd492..000000000 --- a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47", - "id": "2834a80b6dbcd04a8c58bd803038e5f03936c886067d1ee39d0a31d0bb9e88ae", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13", - "id": "2cb70798cc39fa47453799bd93bf9275930f21bcbfb2746e57cf2b77700b8cd8", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L30-L37", - "id": "3a39574e82d2f7f3b099bb034e0ff24b44e59a22109608d09a9ff3316409b1d2", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L24-L28", - "id": "f11a3c532d51a71adce3b5df738ce354d0a70ea3be928459582028cb72b5fdbd", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json b/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json deleted file mode 100644 index 51a485f5b..000000000 --- a/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json +++ /dev/null @@ -1,386 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 333, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 496, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 473, - "length": 271, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 132, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 793, - "length": 42, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 423, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant (tests/detectors/constable-states/0.4.25/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42", - "id": "8d08797efc8230b480ec669c7e2bf53c3b3d16bc59bf7770934b34fd892934f8", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 841, - "length": 33, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 423, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43", - "id": "d08c6d1e331083b42c45c222691dd1e6d880814c66d114971875337ca61ba9c9", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 237, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/detectors/constable-states/0.4.25/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json b/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json deleted file mode 100644 index f9ed17eb1..000000000 --- a/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 880, - "length": 38, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_3 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#44) should be constant \n", - "markdown": "[MyConc.should_be_constant_3](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L44) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L44", - "id": "29247b0a9939e854ad51bf3b2f58705156aa8b7e446e646b1832467d362b5b3e", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 333, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 496, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 473, - "length": 271, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 132, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 793, - "length": 42, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant (tests/detectors/constable-states/0.5.16/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42", - "id": "8d08797efc8230b480ec669c7e2bf53c3b3d16bc59bf7770934b34fd892934f8", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 841, - "length": 33, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43", - "id": "d08c6d1e331083b42c45c222691dd1e6d880814c66d114971875337ca61ba9c9", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 237, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/detectors/constable-states/0.5.16/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json b/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json deleted file mode 100644 index ac3608f81..000000000 --- a/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json +++ /dev/null @@ -1,457 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.6.11/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/detectors/constable-states/0.6.11/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json b/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json deleted file mode 100644 index d54beb405..000000000 --- a/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.7.6/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/detectors/constable-states/0.7.6/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json b/tests/detectors/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json deleted file mode 100644 index 7febfd637..000000000 --- a/tests/detectors/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.8.0/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.8.0/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.8.0/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/detectors/constable-states/0.8.0/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json b/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json deleted file mode 100644 index 0287cd134..000000000 --- a/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json +++ /dev/null @@ -1,81 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test_assembly_bug", - "source_mapping": { - "start": 324, - "length": 66, - "filename_relative": "tests/detectors/constant-function-asm/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-asm/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/detectors/constant-function-asm/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-asm/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_assembly_bug()" - } - } - ], - "description": "Constant.test_assembly_bug() (tests/detectors/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code\n", - "markdown": "[Constant.test_assembly_bug()](tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24) is declared view but contains assembly code\n", - "first_markdown_element": "tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24", - "id": "1f892cae08b89096bdc4d6ecdf55a3adc4b4314390e054fe2547d9c8e9f76e23", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function-asm", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json b/tests/detectors/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json b/tests/detectors/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json b/tests/detectors/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json b/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json deleted file mode 100644 index dc2dbc591..000000000 --- a/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json +++ /dev/null @@ -1,278 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test_constant_bug", - "source_mapping": { - "start": 113, - "length": 66, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_constant_bug()" - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 28, - "length": 6, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Constant.test_constant_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_constant_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11", - "id": "145e2d34dfc5b932c8d67d480c0eaec9baa8c728e2a310529572c0c4a5c6046a", - "additional_fields": { - "contains_assembly": false - }, - "check": "constant-function-state", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test_view_bug", - "source_mapping": { - "start": 45, - "length": 58, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_view_bug()" - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 28, - "length": 6, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Constant.test_view_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_view_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7", - "id": "4dee61d8835d20c6f1f7c195d8bd1e9de5dbcc096396a5b8db391136f9f5fdf1", - "additional_fields": { - "contains_assembly": false - }, - "check": "constant-function-state", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json b/tests/detectors/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json b/tests/detectors/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json b/tests/detectors/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json b/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json deleted file mode 100644 index 12a682297..000000000 --- a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json +++ /dev/null @@ -1,595 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "arr.length = param", - "source_mapping": { - "start": 527, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "13e0633277a811f9416912f4404d805c1aaaaaacbc94989215c41de964718b0b", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b.subStruct.x.length = param + 1", - "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "82175a5c24c40a1afe4c59f4271a2c12e577ad25e89e6e319e47b4f8f2a76943", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a.x.length = param", - "source_mapping": { - "start": 818, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "f455c672028771f21282b59fb58b5eac51185eae4ac44e65a2e1f4df6db0c6e4", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json b/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json deleted file mode 100644 index bc644569c..000000000 --- a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json +++ /dev/null @@ -1,595 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a.x.length = param", - "source_mapping": { - "start": 818, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "3ee7c4c1f07506f88bcd3b42a86641b32b24a3978768cbcb99301bd8a1fcb975", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "arr.length = param", - "source_mapping": { - "start": 527, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "5120add82e5b674971638ddcd430301e4fd0ff0abc12b425d78bb09baa519dd0", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b.subStruct.x.length = param + 1", - "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "ba005d0d2665bc40c7c33b2a6a32bf426b4a5ccea38e75a6265976a20c9b7ae3", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json deleted file mode 100644 index 330fd4386..000000000 --- a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20", - "id": "12d6ba2d0139326b442352b37028ff77dfbdc625870a5ae858e6107cfa89cfbb", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11", - "id": "90d4f387ca3c669975a3ed4d7a5b09665b786a1078e16ced61adf1c3f9f6efb8", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json deleted file mode 100644 index 669002ce0..000000000 --- a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11", - "id": "5ffc12fd6e122f0e70986a5d7f8d14c087f538145910100ea15192a63391a2b7", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20", - "id": "a8749733eb415695ac990f9045813c8c1aadfb54f6de912cff1927db64a6d8d6", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json deleted file mode 100644 index baebee91b..000000000 --- a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20", - "id": "82fc8a33f6b16eff457087ec9961f2bce3c61289628dac8284009c8275cea790", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11", - "id": "bed67f615a2f3a872e24eedf23fdedbdfbe5a540dc3f3ea4ca1430581997a8f6", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json deleted file mode 100644 index b7d1946cf..000000000 --- a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20", - "id": "04a4aed45b4c803d9fa03d70198a8f6d7f4228d2fd5e06bd61c4c68431be2c90", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11", - "id": "59a70e53c14de214629ffde4abab9700cbb3bc66a99e281954e3b9f285a28c2d", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json deleted file mode 100644 index 94d44141c..000000000 --- a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "0cde1ae7c1410e0eb0d07ff2c21adc20b1c7f7a654780c8d41069ad3a34e73b4", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "92dbac16da1c357bad3a24661de0e92213ac3a701d80655fadb64359ff98d21d", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "a5134568bf722ac31d7c4d41595c23e1a5ff9b79902e9502f78ccfe9a430b87a", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "d92f330b3f0aafe1dd0a8c4d79935664297b8d73741df8970e132423d20a1c08", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json deleted file mode 100644 index 1780300b1..000000000 --- a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "37bb0ca67ffcfb1625ffbea095bba93ea031ed6f483bb80a976c7c68309872dd", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "6ebf2ecedb330a477079a9b72f1ba6ffc5717e08017f700538ec42d3eeab355b", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "94a7ffd0d3ada78ae8ace1304b276d677415a08dcdff51fc05889122e14633da", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "c0c91898e5b5af12af49b6aefdc4790190101774bffad8e446ba9c857ff86525", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json deleted file mode 100644 index 0a4fd2c89..000000000 --- a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "3a1b0ff0bee83dfad403a074eb81c6d845c5da8e99e98433004ba72c1b2c624c", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "4bb89ccd252e2233f67cccaf8b40354da7edcb7c5b36df1edfeab0cafed05b74", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "53602b905c8ae68d5325f0c11263f1c9b905406799ec70ca13638f4b1094c37f", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "a4f559a14007167a13506a3c865345fb2c050b8d2c660804cc5e301db553822a", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json deleted file mode 100644 index 5658e59fa..000000000 --- a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "77bb0a1e0308312bb9696553d6384270c433fcbebd6311e053c6979d4bdc2128", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "a150cde3056e29877ab4fc8d64ce48a08db143bcb5dc2bcccae8f7848e666940", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "c92490750428b640ff46202b5fe9d0eb62ab98a70419cef5ca80530c15b14180", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "f7ebc0c37f31c1a68b8fbfe7530fd66f3c590e5631478cc88d03eeaa8c09f6a6", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json b/tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json deleted file mode 100644 index e6e370ac3..000000000 --- a/tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json +++ /dev/null @@ -1,96 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "highCC", - "source_mapping": { - "start": 244, - "length": 536, - "filename_relative": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "HighCyclomaticComplexity", - "source_mapping": { - "start": 25, - "length": 757, - "filename_relative": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "highCC()" - } - } - ], - "description": "HighCyclomaticComplexity.highCC() (tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#17-31) has a high cyclomatic complexity (12).\n", - "markdown": "[HighCyclomaticComplexity.highCC()](tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31) has a high cyclomatic complexity (12).\n", - "first_markdown_element": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31", - "id": "405b9e7f5697539c75171d728f0a10b6ebb7fe08441c445b0e63c33982c98e2d", - "check": "cyclomatic-complexity", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json b/tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json b/tests/detectors/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json deleted file mode 100644 index 43ae37d66..000000000 --- a/tests/detectors/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "unused_but_shadowed", - "source_mapping": { - "start": 319, - "length": 56, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test4", - "source_mapping": { - "start": 290, - "length": 87, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused_but_shadowed()" - } - } - ], - "description": "Test4.unused_but_shadowed() (tests/detectors/dead-code/0.8.0/dead-code.sol#26-28) is never used and should be removed\n", - "markdown": "[Test4.unused_but_shadowed()](tests/detectors/dead-code/0.8.0/dead-code.sol#L26-L28) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L26-L28", - "id": "74ea8421cf7fa9e04d243014b61f3eee7a9c7648df98316c3881dd4f1f2ab3f7", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "unused", - "source_mapping": { - "start": 19, - "length": 34, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 55, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused()" - } - } - ], - "description": "Test.unused() (tests/detectors/dead-code/0.8.0/dead-code.sol#2-4) is never used and should be removed\n", - "markdown": "[Test.unused()](tests/detectors/dead-code/0.8.0/dead-code.sol#L2-L4) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L2-L4", - "id": "a7c13823116566bbbbb68e8a7efa78fe64785fcb8582069373eda7f27c523cb3", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "unused_but_shadowed", - "source_mapping": { - "start": 79, - "length": 55, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 58, - "length": 78, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused_but_shadowed()" - } - } - ], - "description": "Test2.unused_but_shadowed() (tests/detectors/dead-code/0.8.0/dead-code.sol#10-12) is never used and should be removed\n", - "markdown": "[Test2.unused_but_shadowed()](tests/detectors/dead-code/0.8.0/dead-code.sol#L10-L12) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L10-L12", - "id": "aaba496684b73955e90b555de174e1cd03f0fee337849c4d58c10ef76ff93582", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json b/tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json deleted file mode 100644 index 4a5c9a7b2..000000000 --- a/tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L25-L31", - "id": "77dda07eb6e2fe62ccfc45730422fa556ee775c1f6686148258f1ccc76c86491", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L19-L23", - "id": "95c9b72aff8332665e8e4f528a844ef21bc09ec277d5d27d97c2f0f1d69e8ba3", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L5-L9", - "id": "e057dff3814f9be2d5eca53fe80f41323b8ed90d20bb1e33600bb4e043c40b66", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json b/tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json deleted file mode 100644 index c9300b967..000000000 --- a/tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L5-L9", - "id": "71bad0e6228b341671dd1cc38d74fb727f9bbc5764104298596986d8f4967c02", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L19-L23", - "id": "7edbf79d9613bc9338f4956841c0fbece80b489971f8c05ae818babc7e27931a", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L25-L31", - "id": "e4ea7a031f3f945111f70123e85c9f92b52ac8fd7c04a8c2443393592982e39a", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json b/tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json deleted file mode 100644 index 0696b4687..000000000 --- a/tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L19-L23", - "id": "50e1b9196dcf1e1d7678184956c7a9d3ba470ab23d7be04163d366b092e2df41", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L5-L9", - "id": "dfa0a166dfe43235e3fbeab4eadd8b0c7c612cd2fefe3cf281d909129b3b824e", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L25-L31", - "id": "f42b54838c6756ddd38ad98fb9243413bbbd169a6d513737c1b85bd6dc263107", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json b/tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json deleted file mode 100644 index f9aea9155..000000000 --- a/tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L5-L9", - "id": "33dd934c565095b28b362765c0c885287aaf87741cf31dae44457268f831b7a4", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L25-L31", - "id": "40cecf9f87caeb930a800e6eb9c668fd6ca5077af3176e48af13c4892bcaf419", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L19-L23", - "id": "a7f58e5431f4817c8f3e39d7efdb1b1633316d9be3fd73669e509ec33b6bd2d3", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json b/tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json deleted file mode 100644 index 3d25d5591..000000000 --- a/tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L25-L31", - "id": "0bacdb8b28979c680bd97f07b6a7e17d687dde34b125b23d9d71514d37d5e863", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L5-L9", - "id": "b810117268c82cb0e2ba1fce4549cef820197f59c877fd5f0701661a0f7bbf47", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L19-L23", - "id": "c09bee70334dcac1e61b8295e12f2928ec522c8a0682f6068e6c283361ab1e59", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json b/tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json deleted file mode 100644 index 841e68328..000000000 --- a/tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "", - "source_mapping": { - "start": 228, - "length": 5, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionWithDeprecatedThrow", - "source_mapping": { - "start": 21, - "length": 229, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 252, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "functionWithDeprecatedThrow()" - } - } - } - } - ], - "description": "Deprecated standard detected THROW (tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#7):\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", - "markdown": "Deprecated standard detected [THROW](tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L7):\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", - "first_markdown_element": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L7", - "id": "5fbf4a42467953d0fd8d0661cbb4eeb81d4b40f69ae3820196bf10c4be53044e", - "check": "deprecated-standards", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "msg.gas == msg.value", - "source_mapping": { - "start": 140, - "length": 20, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 12, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionWithDeprecatedThrow", - "source_mapping": { - "start": 21, - "length": 229, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 252, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "functionWithDeprecatedThrow()" - } - } - } - } - ], - "description": "Deprecated standard detected msg.gas == msg.value (tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#5):\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", - "markdown": "Deprecated standard detected [msg.gas == msg.value](tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L5):\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", - "first_markdown_element": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L5", - "id": "e779713eabc28919356310f06b9413a8a3b7e9e713026d6cfae2d9f6839c1e57", - "check": "deprecated-standards", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json b/tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json deleted file mode 100644 index 9c2064da9..000000000 --- a/tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#L2-L4", - "id": "e0d9e5f7d421dadadf4b22750bde5233357fa2a413478117848de6e44ba9c314", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json b/tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json deleted file mode 100644 index 895721fd4..000000000 --- a/tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#L2-L4", - "id": "201417019df7d5dedc2b65c695ccdce8dbd171768bb64e4bae44c2b6e81bb96b", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json b/tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json deleted file mode 100644 index c250c523c..000000000 --- a/tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#L2-L4", - "id": "c84a7841250790acbb447d31715ca8f7818170927909d599cbc08f49ce8a665d", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json b/tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json deleted file mode 100644 index 7c68d8531..000000000 --- a/tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#L2-L4", - "id": "1978edf9df9f9dc18d8c90bb008cca4bb4b0e811fd840a337ce006fcf38c7e82", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index 7b89af4a8..000000000 --- a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5241, - "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6181, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index 5d4c00817..000000000 --- a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6054, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index f5a460429..000000000 --- a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index 23f93fd7e..000000000 --- a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index 5cc2627ae..000000000 --- a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index 20ab9665d..000000000 --- a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5255, - "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6135, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index 8bbb29bb9..000000000 --- a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index ace6f711a..000000000 --- a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index 7da702ba4..000000000 --- a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5255, - "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6135, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 6f42fc7a6..000000000 --- a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 9c246aca1..000000000 --- a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 957ae1920..000000000 --- a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index 5d6f68aa9..000000000 --- a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5295, - "length": 170, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6323, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index dc39ccea9..000000000 --- a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json b/tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index c224777b6..000000000 --- a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json b/tests/detectors/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json deleted file mode 100644 index 8eab7b7df..000000000 --- a/tests/detectors/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "Test.E(a)", - "source_mapping": { - "start": 118, - "length": 11, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 83, - "length": 6, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 18, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - }, - { - "type": "node", - "name": "Test.E(a)", - "source_mapping": { - "start": 118, - "length": 11, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - } - ], - "description": "Test.E(a) (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#7) has a dangerous enum conversion\n\t- Variable: Test.bug(uint256).a (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#6) of type: uint256\n\t- Enum conversion: Test.E(a) (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#7)\n", - "markdown": "[Test.E(a)](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7) has a dangerous enum conversion\n\t- Variable: [Test.bug(uint256).a](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L6) of type: uint256\n\t- Enum conversion: [Test.E(a)](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7)\n", - "first_markdown_element": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7", - "id": "f16bcdd6943fe3ff7ed6cc9b729ed5f95f61375509c7cce6646efa44c69860b7", - "check": "enum-conversion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json deleted file mode 100644 index ab8742618..000000000 --- a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json deleted file mode 100644 index 184c71ba9..000000000 --- a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json deleted file mode 100644 index 9be583901..000000000 --- a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json deleted file mode 100644 index 61cc14172..000000000 --- a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index 898431083..000000000 --- a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 102, - "length": 55, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 319, - "length": 60, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 273, - "length": 41, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 162, - "length": 69, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 236, - "length": 32, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 46, - "length": 51, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index d5cfab119..000000000 --- a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 105, - "length": 55, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 322, - "length": 60, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 276, - "length": 41, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 165, - "length": 69, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 239, - "length": 32, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 49, - "length": 51, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index 0c944d7c1..000000000 --- a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 122, - "length": 63, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 371, - "length": 68, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 317, - "length": 49, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 190, - "length": 77, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 272, - "length": 40, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 58, - "length": 59, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index d00cedbdf..000000000 --- a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 122, - "length": 63, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 371, - "length": 68, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 317, - "length": 49, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 190, - "length": 77, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 272, - "length": 40, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 58, - "length": 59, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index e4f9c45c3..000000000 --- a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 723, - "length": 48, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 549, - "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 351, - "length": 96, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 140, - "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 189, - "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 452, - "length": 92, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 50, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 26, - "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 632, - "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 238, - "length": 108, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 113 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 776, - "length": 70, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index 239813482..000000000 --- a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 735, - "length": 48, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 561, - "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 363, - "length": 96, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 143, - "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 192, - "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 464, - "length": 92, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 644, - "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 241, - "length": 117, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 122 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 788, - "length": 70, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index 1a35ecaec..000000000 --- a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 800, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 610, - "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 396, - "length": 104, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 109 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 152, - "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 209, - "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 505, - "length": 100, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 701, - "length": 94, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 266, - "length": 125, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 130 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 861, - "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index 56ed12359..000000000 --- a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 800, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 610, - "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 396, - "length": 104, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 109 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 152, - "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 209, - "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 505, - "length": 100, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 701, - "length": 94, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 266, - "length": 125, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 130 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 861, - "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json b/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json deleted file mode 100644 index e5ca217aa..000000000 --- a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17", - "id": "4d3c0f7336bc2f5248fb9488caa06bf496a1076398fca7a730a4e18ef9eedb23", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26", - "id": "9411f6b4b3e6f3833a72789f341adf88796bcb58b4a12a47a6f7117746d09c53", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21", - "id": "b2bf34ab3d02054c5f803cd517689d1e3d055b46ca612b2457d845d8d4b94731", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json b/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json deleted file mode 100644 index bb88b927a..000000000 --- a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26", - "id": "1562e590ef85efee605bdbf837a010ad06cdb04cec40ac4a7ca7c8cc25cf4161", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17", - "id": "99e09713b41d4b164cc0f4a88f48e6d0bd94128636c57b1bee357ac1fda130d7", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21", - "id": "a8b5423d1085668a105afd674978791ad0b57f1c9ab15b7db682c3dfac7a49b2", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json b/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json deleted file mode 100644 index 120d1febf..000000000 --- a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21", - "id": "7dd824ee9b2f6100abf2b1e95d84c1b1393a4ab27a06676b2a5d7da164788a00", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17", - "id": "81ef3707d2eed91cd30ba6e7368fa40206ec32eec757bb0af632c4b7885bd92c", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26", - "id": "a1b2818a2d7f222d9f8e8d8f7730fe9e8b24c9863637b9ecd2f395eb68fa3511", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json b/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json deleted file mode 100644 index de5943bc7..000000000 --- a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17", - "id": "2fb533ae76197f4d08ef6a97b9f0ee983db552644ae44807c761889fc5a86c22", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26", - "id": "3b63f24bd57a54fab8af7d3292bd8444c3dc834bf43dfd96be0e06ca0027299c", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21", - "id": "d319284c1ad2023a792ace9e7b2371966f789c5acf5ab90b1cc5935060f855f0", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json deleted file mode 100644 index bd4d36b89..000000000 --- a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24", - "id": "5bdc3116ab3855778ce4857872000648491e61af71273e503cc9439c5e8740c1", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32", - "id": "a8bc1236abe35dd73049b7e452352ea609772a11ca5cc92e0ee958ac94e5a577", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json deleted file mode 100644 index 3f505d428..000000000 --- a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24", - "id": "07662c5e48ff5320e1a777c6014a5c08a4afe75e11a9c5219acab83b345345d0", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32", - "id": "57f7648cceb76092e0e6102aa9787e808eb435435277dbde46ef016eb1047aa6", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json deleted file mode 100644 index 4a69b2ded..000000000 --- a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24", - "id": "8939d396ba9831d820e0960a02ce00dcc748cf3c833cb57bec01898a8782ce10", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32", - "id": "8cfd768ccce23b341e194537946d6ae90c8bbfb9ab94658a7044848969769e1a", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json deleted file mode 100644 index d0a4c25d9..000000000 --- a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32", - "id": "22cd7f2678dfbd4185d6254ad55b620bd3b20a406d88d9f53412ca97d9c3bf03", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24", - "id": "833efa3b1dab85aef7a00a7bf77bfe290cb2933e11eed34150a1e54a9644a093", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json b/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json b/tests/detectors/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json b/tests/detectors/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 951417bee..000000000 --- a/tests/detectors/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,181 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 239, - "length": 43, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(uint256[])" - } - } - ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/detectors/external-function/0.4.25/external_function_3.sol#8)\n", - "markdown": "bad2(uint256[]) should be declared external:\n\t- [Test.bad2(uint256[])](tests/detectors/external-function/0.4.25/external_function_3.sol#L8)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L8", - "id": "69068a3072d6f392073d197438688ae8e0bee7844098cfe4cc6c7d345e603678", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(bytes)" - } - } - ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/detectors/external-function/0.4.25/external_function_3.sol#7)\n", - "markdown": "bad(bytes) should be declared external:\n\t- [Test.bad(bytes)](tests/detectors/external-function/0.4.25/external_function_3.sol#L7)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L7", - "id": "695915ec89adb6bfc4bf7f8eebf7993e02756da20f0b0e5a8d1dd251bf956c43", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 287, - "length": 40, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(string)" - } - } - ], - "description": "bad3(string) should be declared external:\n\t- Test.bad3(string) (tests/detectors/external-function/0.4.25/external_function_3.sol#9)\n", - "markdown": "bad3(string) should be declared external:\n\t- [Test.bad3(string)](tests/detectors/external-function/0.4.25/external_function_3.sol#L9)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L9", - "id": "f56b73c72461d3d9fd4e79bd3cd2649f79c425406843e5c7b2de3fad5b2f663a", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json b/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json b/tests/detectors/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json b/tests/detectors/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index edc1ad2e7..000000000 --- a/tests/detectors/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,268 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 524, - "length": 40, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(string)" - } - } - ], - "description": "bad4(string) should be declared external:\n\t- Test.bad4(string) (tests/detectors/external-function/0.5.16/external_function_3.sol#18)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad4(string) should be declared external:\n\t- [Test.bad4(string)](tests/detectors/external-function/0.5.16/external_function_3.sol#L18)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function_3.sol#L18", - "id": "1b6de528ed7f8ecf61a543879c8bcbee1bce7e08bdef89c6f8f663937d5a7209", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 475, - "length": 44, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(Test.testStruct)" - } - } - ], - "description": "bad3(Test.testStruct) should be declared external:\n\t- Test.bad3(Test.testStruct) (tests/detectors/external-function/0.5.16/external_function_3.sol#17)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad3(Test.testStruct) should be declared external:\n\t- [Test.bad3(Test.testStruct)](tests/detectors/external-function/0.5.16/external_function_3.sol#L17)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function_3.sol#L17", - "id": "a60742b3998c52eee654f61cfb5b39834d63a1b13212511a01811206ac445dd5", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 427, - "length": 43, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(uint256[])" - } - } - ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/detectors/external-function/0.5.16/external_function_3.sol#16)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad2(uint256[]) should be declared external:\n\t- [Test.bad2(uint256[])](tests/detectors/external-function/0.5.16/external_function_3.sol#L16)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function_3.sol#L16", - "id": "aa4b0cae64f1a6f9f11d3f9981255fd04f37f558c960195ee46413ca4b142822", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 384, - "length": 38, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(bytes)" - } - } - ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/detectors/external-function/0.5.16/external_function_3.sol#15)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad(bytes) should be declared external:\n\t- [Test.bad(bytes)](tests/detectors/external-function/0.5.16/external_function_3.sol#L15)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function_3.sol#L15", - "id": "df1688f3d1120f9600f61accff294ba821689c45dc261f1a9b94f23e6a402367", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json b/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json b/tests/detectors/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json b/tests/detectors/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json b/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json b/tests/detectors/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json b/tests/detectors/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json b/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json deleted file mode 100644 index 88ad6f92d..000000000 --- a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json b/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json deleted file mode 100644 index 382cafdf7..000000000 --- a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json b/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json deleted file mode 100644 index dc689281d..000000000 --- a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json b/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json deleted file mode 100644 index abdcc8787..000000000 --- a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json b/tests/detectors/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json b/tests/detectors/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json b/tests/detectors/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json deleted file mode 100644 index 15064ca99..000000000 --- a/tests/detectors/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json +++ /dev/null @@ -1,339 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1077, - "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L47", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_4", - "source_mapping": { - "start": 1038, - "length": 33, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_4 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L46", - "id": "a26d6df4087ac010928bc4bd18aa70ac58a28e584b1288e348d9c255473c300d", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json b/tests/detectors/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json deleted file mode 100644 index 40c8b1368..000000000 --- a/tests/detectors/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json +++ /dev/null @@ -1,334 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1077, - "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L47", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_4", - "source_mapping": { - "start": 1038, - "length": 33, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_4 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L46", - "id": "a26d6df4087ac010928bc4bd18aa70ac58a28e584b1288e348d9c255473c300d", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json b/tests/detectors/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json deleted file mode 100644 index 58d26f9bc..000000000 --- a/tests/detectors/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1038, - "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L46", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json deleted file mode 100644 index 41b0206b7..000000000 --- a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35", - "id": "126f956451cb4dcbdac6edb66148b23eabc789962d4fa3a8bd22a682c6c5bfd4", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71", - "id": "2cc246058513fdfe2178c6e9b552bcae42d3c29bc104c3b95734323aeda57396", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64", - "id": "781645f52e6eb4c7a0e38a58537907a6421ded2703ae8b18be68251a02901e7a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1091, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50", - "id": "8f08cca8ee4d2d51c2bf5717f78aa1dd13c6499e430a43b89e5309f20920b11d", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133", - "id": "a65d9228ffbebf6de7f455df00a0de91ee0e23c7f13a306bdc90e16e69a043b3", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 562, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27", - "id": "a962a2c49344b2acce83236c339daa07cce98d240dd8869bb7d8c5e96d412ff0", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125", - "id": "abcb113fde0b01cb4a653968a235bf5f3ee70a6f97ae3fa68c3a161c8ca5f6b8", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45", - "id": "b6c0963403d985cfcd3eda6d43bc2716eaebcd0d936d9a57d35df4adfbb01e46", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1274, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57", - "id": "b7b40be64de7150ba57e0f2b6379c672ee431675bbab8b607a82acdd29338d42", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3034, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129", - "id": "d17755463242fbfeef570c2504ff13729a74d8633ade693da26127635b145892", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 455, - "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23", - "id": "d887566c310fa756ee60c8a838f09bf3165adda30dff76b4d8f7bd85f6561610", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40", - "id": "de67d7a1010855e47722500e73f1156c1c2c222414e661624300ea395102af1a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json deleted file mode 100644 index 00e03818a..000000000 --- a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3034, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129", - "id": "27fb1eed66075f0883f327ce69bfa39000a4cc6841a39342114cb892a1a0b23b", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71", - "id": "280c7848636dd05a32dbdff744714307aa1350aebc6031dd862af9aeb6bdebe3", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64", - "id": "2fddf13889b45374114f11585944ef935efb365935aff518b505f01d4f6c1c97", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 562, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27", - "id": "43d01e301a135af4627eded0afd320a3cc986834dcd0c77ccec4d85e7ac05b57", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45", - "id": "7d0195ec395960b56eb4249c96481aec69f59da34ea15128734721ff1844d469", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1274, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57", - "id": "7d7ebf1738fffe12204ace79edbf67edb9962c03af58dbb9fa9c133d711eaa38", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133", - "id": "9adfb849a88f90efbe4e42ae4daea709e51db6af3ae0a8bb2427d8053a832d04", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125", - "id": "9f08ac90026e6fb8bcd20c0ab8f967fe7680689841262bb91747d967ac2564c4", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1091, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50", - "id": "a987ef061c48551aeeb83ad7556a7d00d13d4dc5fade167c6dc6d586738bda14", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40", - "id": "aee531d35272d761a573246a7f901716f6d1aa6906a0eab19bee4f6f570eb166", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35", - "id": "d00ea5300293e9fe66a52421f56fbb2e48ba4ba942f1d8845e3c2e5bfbbbe66f", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 455, - "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23", - "id": "f1b10c19ed186a854e281f6b2f29e08d5da8892045a928b0565355802998088a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json deleted file mode 100644 index f75728216..000000000 --- a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35", - "id": "20756b1d1c5eb722a3edb44b8c7b2a62ca935e4e1a2491bce50856f7f4cf3f4c", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2986, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125", - "id": "24de80ae388956295db544441f5ab9326af42bd4fcb34e232a23af952d7fe333", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1108, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50", - "id": "3cf7fef3822d0628cc1f441162960a6753d6cdcad5b8c56c84584dba741e806b", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1467, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64", - "id": "3e416561dc117d230bbee97788f5a0ff851da92f1def8fb5d7b94461ee6bfbc0", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 579, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27", - "id": "4d1635766db4dc0687873af3c03047d746b770bcce326793c79210ac16a5c824", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 978, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45", - "id": "50ab6a747d027b81a24ae04b84e6362bd184a5f23080e2af1b6a859ee144f637", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3017, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3051, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3017, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129", - "id": "60917b5197ecd42e5554643c32624ec6fc2a46bc8da2b3627eddcd68cf2ce9f5", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1291, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57", - "id": "6c7dc22e356974c8446e07ee7f9d6ffe94f7cb1670066eecec7cbcac691cb8c8", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 839, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40", - "id": "9363dbd2bb3f41b42351b088f7a973902e04ccae0081e5c99354de90890fe6ab", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71", - "id": "9a6a2aee598cf4c282006337a3b8599c708487d1942e9ddfe3193581cbe1708e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3089, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3123, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3089, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133", - "id": "9efb75e5f6647209e01d4053c1bf76e69bf07d6578864711e2302336f250d72e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 472, - "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23", - "id": "df1ee72930fcaa7dc7a92d390be6007c57953a3392aef588a852373da388d850", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json deleted file mode 100644 index d4a0fa5aa..000000000 --- a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 839, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40", - "id": "00429822fd7d6870bca827c11ac6f1f552b243431b3db4a937da8c0c616aabb9", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1291, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57", - "id": "03481d21bd25c9db2606e6ac246fbf5a047d5fb094422fe19a5fabf7032e1818", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 579, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27", - "id": "22a2bf7ecbe8d0217cce4d0304fc02a45968167dd408ad85ad4bfb0ed5012dd0", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2964, - "length": 71, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 2998, - "length": 30, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2964, - "length": 71, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125", - "id": "41fcdc7b875eec5595e7d7518953b246ab69a7baac064512fde30b157c0595f2", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71", - "id": "48fdf24089d0b55885acd69fec55d6860251775e0e1b0317182476ff9015bd8d", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1467, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64", - "id": "4c491b63ac50b7636f4718de626a471d8172b614b1355e937d7a071aec148691", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1108, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50", - "id": "746e8e07ef37b33e1f1e49ae013311ea0873d62d00caacaf08988735eb939ddc", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3113, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3147, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3113, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133", - "id": "78aad151c32e2fa0c7cb17095afae17fad81d613a486d78dabb016b26396ed12", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 472, - "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23", - "id": "867a3b92771da558ee2693d8c81dc2c154b0effac8153ca43ccb183b05245310", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3075, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129", - "id": "b60d82f030e9230cf782621e9d04910c2dbe77a0adc6dcb435e642eb567ef330", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35", - "id": "c64584a1db93863bfb52a62fae244e6c2f6bc0c1dd1a5662f50965428d978a15", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 978, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45", - "id": "d848b883cd27d256e7ea367c14afae2cc206b22bc62e0023eeff561e4bc9bee6", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json deleted file mode 100644 index bbe5242fd..000000000 --- a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json deleted file mode 100644 index 944fbd792..000000000 --- a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json deleted file mode 100644 index ec2cc82c7..000000000 --- a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json deleted file mode 100644 index f80233a60..000000000 --- a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json b/tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json b/tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json b/tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json deleted file mode 100644 index 25e424df0..000000000 --- a/tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "a = 8 >> a", - "source_mapping": { - "start": 93, - "length": 14, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7", - "id": "eefda017d078fd6c0cdb19b471ac8d0a96b2b3dba9bac04ac194270820a77301", - "check": "incorrect-shift", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json b/tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json deleted file mode 100644 index f8d135a4d..000000000 --- a/tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "a = 8 >> a", - "source_mapping": { - "start": 93, - "length": 14, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7", - "id": "8aa2292fd8d53a23f05aed92384dde452ea1f879d2422c4726b75a79a5aa6f81", - "check": "incorrect-shift", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json b/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json deleted file mode 100644 index e559cffb2..000000000 --- a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json +++ /dev/null @@ -1,521 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x = + 144444", - "source_mapping": { - "start": 104, - "length": 26, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#8)\n", - "markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = + 144444](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L8)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "1c34192b7e1340c90c351ae8dcdbf0ce55436d33da941fd80ca110fadc120471", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x = (x = + 1)", - "source_mapping": { - "start": 136, - "length": 10, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#9)\n", - "markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = (x = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L9)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "67f0d53f0f21e8f7ef05bc38503626b2382c6bd6863d70c857c2c6ad58ea0c96", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "slitherConstructorVariables", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "slitherConstructorVariables()" - } - }, - { - "type": "node", - "name": "c = (b = + 1)", - "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 3, - "ending_column": 16 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "slitherConstructorVariables", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "slitherConstructorVariables()" - } - } - } - } - ], - "description": "C.slitherConstructorVariables() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4)\n", - "markdown": "[C.slitherConstructorVariables()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15) uses an dangerous unary operator: [c = (b = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15", - "id": "985ddf90b5ace46a66272275a4c46e1a8964ba0adbb8223a6c19506145ed2f8c", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "c", - "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 3, - "ending_column": 16 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "C.c (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1)\n", - "markdown": "[C.c](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4) uses an dangerous unary operator: (b = + 1)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4", - "id": "98d05a4acbe13ff0e6fa795af35dc2002541cc7607f3f4d7ffb356f9d33681bd", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json b/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json deleted file mode 100644 index 31146a48d..000000000 --- a/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 368, - "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive", - "source_mapping": { - "start": 47, - "length": 72, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 25, - "length": 97, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.4.25/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/locked-ether/0.4.25/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.4.25/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/locked-ether/0.4.25/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/detectors/locked-ether/0.4.25/locked_ether.sol#L26", - "id": "a2fad0e9c8a75e55b8c548dd184dc33d78142ea5bac9c36cdc5eb174e56d689c", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json b/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json deleted file mode 100644 index 27340be23..000000000 --- a/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 375, - "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive", - "source_mapping": { - "start": 46, - "length": 72, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 24, - "length": 97, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.5.16/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/locked-ether/0.5.16/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.5.16/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/locked-ether/0.5.16/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/detectors/locked-ether/0.5.16/locked_ether.sol#L26", - "id": "a2fad0e9c8a75e55b8c548dd184dc33d78142ea5bac9c36cdc5eb174e56d689c", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json b/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json deleted file mode 100644 index c738c37a0..000000000 --- a/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 401, - "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive_eth", - "source_mapping": { - "start": 49, - "length": 76, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 27, - "length": 101, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive_eth()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.6.11/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/locked-ether/0.6.11/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.6.11/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/locked-ether/0.6.11/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/detectors/locked-ether/0.6.11/locked_ether.sol#L26", - "id": "1818e759217cfcf6787001194bba24ad45470b123962a72d39062edb19447022", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json b/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json deleted file mode 100644 index cd7545e53..000000000 --- a/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 401, - "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive_eth", - "source_mapping": { - "start": 49, - "length": 76, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 27, - "length": 101, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive_eth()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.7.6/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/locked-ether/0.7.6/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.7.6/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/locked-ether/0.7.6/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/detectors/locked-ether/0.7.6/locked_ether.sol#L26", - "id": "1818e759217cfcf6787001194bba24ad45470b123962a72d39062edb19447022", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json b/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json deleted file mode 100644 index d1da18b14..000000000 --- a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7", - "id": "77c8d8f4e884ababeb6c197067a580529b5bbec638ebc1ac2761719de99c5ed1", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json b/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json deleted file mode 100644 index 8849db969..000000000 --- a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7", - "id": "63c001820deebca3c0e65f71e6d2c6ada9534d4aefd1a317e2332af26533f42e", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json b/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json deleted file mode 100644 index 248146114..000000000 --- a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7", - "id": "af64e4f5c7127bf9646b2f1810f9977d0de6d8c27683a42915067fc0efa11f75", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json b/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json deleted file mode 100644 index 58cae0bcf..000000000 --- a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call{gas: 7777,value: msg.value}()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#5-7):\n\t- _receiver.call{gas: 7777,value: msg.value}() (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7):\n\t- [_receiver.call{gas: 7777,value: msg.value}()](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7", - "id": "ec014cc9f1ed1d83294a16253fc735b22f22eebba3953cdae61f6547550fd64d", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json deleted file mode 100644 index 322681651..000000000 --- a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json +++ /dev/null @@ -1,413 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 544, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 218, - "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 650, - "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 544, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#30)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L30)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31", - "id": "6c8848cdccd246661513f2c5d83d03b4a1cb4f07e198a671ce0f6d27fda257ad", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 70, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 165, - "length": 12, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 70, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11", - "id": "8c8313f12eb11c77c9acf1f683fe6d44a79ca1445e0d92cffd79c04a3462d3e9", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json deleted file mode 100644 index 0a0c55407..000000000 --- a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32", - "id": "22a793185576322b937d4887f31b8cb0b7c1cef90dde52abceb5ce57918267ec", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11", - "id": "4c08076815986fec8b813cb66a7f7fe7002a5e87179bbd46e59279da2f46e992", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json deleted file mode 100644 index 40e10b66b..000000000 --- a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11", - "id": "08c9067f48ad8538ab7e311aacd07ac4cc0ffbfe6ce2ccfd9ba9cd2a9e799eda", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32", - "id": "6b7def5c6f4b5683fbf00d5b66df0f54110a6af8fbd0781b352dd72df5baccbc", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json deleted file mode 100644 index a1c8bd02b..000000000 --- a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32", - "id": "8b8d404f4b41f38833ede30ad76bd30b8ad035a2efc18a292426e554599b549b", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11", - "id": "a6c44f7353505e72d74433eef65af07e90cc95c3797d5b395766255f0ecb91e1", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json b/tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json deleted file mode 100644 index 467d65961..000000000 --- a/tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json b/tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json deleted file mode 100644 index 5561e4bf8..000000000 --- a/tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json b/tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json deleted file mode 100644 index 40adbfb75..000000000 --- a/tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json b/tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json deleted file mode 100644 index 734587caa..000000000 --- a/tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json deleted file mode 100644 index 18573c251..000000000 --- a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 393, - "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 427, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19", - "id": "16629b342aad1ee3e0d3f933781eea91f1cb34b1770f84cb38a5d911e15b3476", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 511, - "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 488, - "length": 195, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 545, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 488, - "length": 195, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23", - "id": "27318d51c369e1e169a889a6c2678a023a22e1e3a691ab41a429684e338d2d1e", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 706, - "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 740, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28", - "id": "34b73dbecfa159bc5631cb95ff2343c92792d80f448fc425b7d1bba399108073", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10", - "id": "4215a731670a0150f45d8cd682dc81ed85ffd5268cbad6ac9fe8bd044e54f74d", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 290, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 340, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14", - "id": "dd2af335a7782a70944073bf1cf5dea69845ddcf6a45ea86a9fcf59793b151c8", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json deleted file mode 100644 index 3587bcd4b..000000000 --- a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14", - "id": "3d9ba6630d8f1357ab26196f519d74d6410a8e52994ae341d26a17d466200308", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19", - "id": "654c703c39420ad30e6624b6a98892faffc5e90820e7aabfd3cd66fe8870b7b8", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23", - "id": "98f43dd716a11685725ad4c615b07dd773bcf0f1c7710357fa1a5606084dd999", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28", - "id": "aa90b9a8002d093f5996492eae0d441bde928e8187fc6d2790f973f6383d6095", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10", - "id": "ac59285350b35c2b885a6e9efe641474ae51b830fad5856f622fe264096e44cd", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json deleted file mode 100644 index b2536efa0..000000000 --- a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28", - "id": "174a4f81c4e872deda0a31c10f8136b52d60adc89ba9be1548b308a09e225763", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10", - "id": "1d2f6294ee0cfc4aae290fe04610e1df21d508008e75000ef017463482d78f95", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14", - "id": "21de216080f0f27154e9b3cd2fef7ead38dacc945160b619923c33344d636826", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19", - "id": "3d8300f19d40cb2f76fcb587f94e3dfc751319b119bd83af4cd7f962b680feb8", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23", - "id": "efee9ceff8491c62ed42aab7c70b0a8d9c7731af8ecb304e6deafcc64a20c6f4", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json deleted file mode 100644 index d64dcd7ed..000000000 --- a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14", - "id": "1a145c4f40c60c9db09f5743139503a60b40be83dda9c57f8c47a400f1bc5b8a", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23", - "id": "1cc3cad32b73e31e6d6f214b9a99b19c5bd5633ddf3ab58267a5870051c22a02", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10", - "id": "2c8db81e6ce5a16bd76db4dd9d27d931037b6b06bacd06afa427e35f4dd22aa6", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call{value: msg.value}()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call{value: msg.value}() (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call{value: msg.value}()](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28", - "id": "64e549d94c8869ed8c827ad3ee766cb23d4e8a64bc9b19e06d593fa8942363b4", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19", - "id": "f7028c02d7b7a78ef72a33c7b976bcb047206b9c82a9acc39cdf11a5e188208f", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json b/tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json deleted file mode 100644 index 65e9981ae..000000000 --- a/tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9", - "id": "027924fc305bf0f3b5ac969d0581163babd157c200d89860a2ee0f3f0f32fb9e", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19", - "id": "46e81ee3916dd92be3598ae1c853e34145102f527870dd2eb0409fee047ddc4d", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27", - "id": "91bc78ce47280ec59296ebb0cf98afb5ede603b3c31025002c1c2ec1b940ad68", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json b/tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json deleted file mode 100644 index 778e912fd..000000000 --- a/tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9", - "id": "73184041d050abe4e838c17a866f4b56dcb249488d85eecf48cde8eaad21511a", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19", - "id": "a7decdca7d1ca27f92038a6a0d1ee3899fe523fef53329f4bdd976040fe05fd4", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27", - "id": "e8b65da4e14be1243f400e5b4e656c10d7e360391ecdc376848c2c25c257f593", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json b/tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json deleted file mode 100644 index cca0c8183..000000000 --- a/tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19", - "id": "84b39e0706b72e42b4cf069a649c5825e35ed842871350cc064c8123396b6f96", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9", - "id": "b8e2b147c51a880dc38a635915a0511954ade8ffeab3efd16e389a370e0c0b1b", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27", - "id": "d89c600adf6767e1270ee5b760bf2e5917e9f27aa77c86f956b55a883552bb0d", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json b/tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json deleted file mode 100644 index aa435d582..000000000 --- a/tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19", - "id": "0fd3ac1c8051090ec1fe86fa9e1e5f8e7381d8eef3f252fede8dc3bb07e87104", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27", - "id": "9a021823637092277317750625e1f63b1b6f4b394a5dd1fdde50088af8d9e805", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9", - "id": "fd0c2f6abecbecd689c995b2cd3c30c9f1bd3763e34f4d5cb91788604f8ec3da", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json b/tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json deleted file mode 100644 index f23b887a0..000000000 --- a/tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9", - "id": "0051349cec04c37ffe5ac2f85a2dbbd4a567f5194c16278745de3b12a1c86cb9", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19", - "id": "0064bba498edf780c73f858d7a8d6cc42e1be323e288eea78622b8d84fe557bc", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27", - "id": "5aba5d0fecd0935e1e8d98c5779a7114fbfd4587b6b8b7fdca61829d3322f584", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json b/tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json deleted file mode 100644 index 01975d3bd..000000000 --- a/tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 29, - "length": 43, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 77, - "length": 42, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "A()" - } - } - ], - "description": "A (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#1-14) contains multiple constructors in the same contract:\n\t- A.constructor() (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#3-5)\n\t- A.A() (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#6-8)\n", - "markdown": "[A](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14) contains multiple constructors in the same contract:\n\t- [A.constructor()](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L3-L5)\n\t- [A.A()](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L6-L8)\n", - "first_markdown_element": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14", - "id": "704cdb1c05e919913c22befaf077b9585bc75e31b5033fa46c930ad82dc6852e", - "check": "multiple-constructors", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json b/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json deleted file mode 100644 index 003ec85c3..000000000 --- a/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.4.25/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.4.25/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.4.25/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/detectors/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.4.25/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/detectors/naming-convention/0.4.25/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json b/tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json b/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json deleted file mode 100644 index 4ab232e6c..000000000 --- a/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.5.16/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.5.16/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.5.16/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/detectors/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.5.16/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/detectors/naming-convention/0.5.16/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json b/tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json b/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json deleted file mode 100644 index 185536067..000000000 --- a/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.6.11/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.6.11/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.6.11/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/detectors/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.6.11/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/detectors/naming-convention/0.6.11/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json b/tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json b/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json deleted file mode 100644 index 2422728da..000000000 --- a/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.7.6/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/detectors/naming-convention/0.7.6/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.7.6/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/detectors/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/detectors/naming-convention/0.7.6/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/detectors/naming-convention/0.7.6/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json b/tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json b/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json deleted file mode 100644 index a3c316ffe..000000000 --- a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.4.24", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.4", - ".24" - ] - } - }, - { - "type": "pragma", - "name": "^0.4.25", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.4.25/pragma.0.4.25.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.4.25/pragma.0.4.25.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.4", - ".25" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- ^0.4.24 (tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#1)\n\t- ^0.4.25 (tests/detectors/pragma/0.4.25/pragma.0.4.25.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- [^0.4.24](tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1)\n\t- [^0.4.25](tests/detectors/pragma/0.4.25/pragma.0.4.25.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1", - "id": "1b4bdffe0c7fc63e2a8d589f34ff29de46139cf79ff3b9cb13dee36502b8fbc6", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json b/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json deleted file mode 100644 index ae236ebf5..000000000 --- a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.15", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".15" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.16", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.5.16/pragma.0.5.16.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.5.16/pragma.0.5.16.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".16" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- ^0.5.15 (tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#1)\n\t- ^0.5.16 (tests/detectors/pragma/0.5.16/pragma.0.5.16.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- [^0.5.15](tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1)\n\t- [^0.5.16](tests/detectors/pragma/0.5.16/pragma.0.5.16.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1", - "id": "f3c6aef8c4d19f960e801fe9343d7cb4c290460cb7b4b14dca769269f0234b31", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json b/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json deleted file mode 100644 index 7a6b22d3f..000000000 --- a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.6.10", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".10" - ] - } - }, - { - "type": "pragma", - "name": "^0.6.11", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/pragma/0.6.11/pragma.0.6.11.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.6.11/pragma.0.6.11.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".11" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- ^0.6.10 (tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#1)\n\t- ^0.6.11 (tests/detectors/pragma/0.6.11/pragma.0.6.11.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- [^0.6.10](tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1)\n\t- [^0.6.11](tests/detectors/pragma/0.6.11/pragma.0.6.11.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1", - "id": "05ad5ab9a596fc401c485ede8f164ebd0df3052e307bb036f70a64d47cbc2933", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json b/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json deleted file mode 100644 index 911a33b4a..000000000 --- a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.7.5", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".5" - ] - } - }, - { - "type": "pragma", - "name": "^0.7.6", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/pragma/0.7.6/pragma.0.7.6.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.7.6/pragma.0.7.6.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".6" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- ^0.7.5 (tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#1)\n\t- ^0.7.6 (tests/detectors/pragma/0.7.6/pragma.0.7.6.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- [^0.7.5](tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1)\n\t- [^0.7.6](tests/detectors/pragma/0.7.6/pragma.0.7.6.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1", - "id": "bbddfc60b33090137a744cf0ebdfb2acbe88e3f353368626723e8bec7558f72f", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json b/tests/detectors/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json deleted file mode 100644 index 2c1a11fa4..000000000 --- a/tests/detectors/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json +++ /dev/null @@ -1,400 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "buggy", - "source_mapping": { - "start": 938, - "length": 57, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "buggy()" - } - }, - { - "type": "function", - "name": "onlyOwner", - "source_mapping": { - "start": 844, - "length": 88, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "onlyOwner()" - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 822, - "length": 13, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "Internal.buggy() (tests/detectors/protected-vars/0.8.2/comment.sol#47-49) should have Internal.onlyOwner() (tests/detectors/protected-vars/0.8.2/comment.sol#42-45) to protect Internal.owner (tests/detectors/protected-vars/0.8.2/comment.sol#38)\n", - "markdown": "[Internal.buggy()](tests/detectors/protected-vars/0.8.2/comment.sol#L47-L49) should have [Internal.onlyOwner()](tests/detectors/protected-vars/0.8.2/comment.sol#L42-L45) to protect [Internal.owner](tests/detectors/protected-vars/0.8.2/comment.sol#L38)\n", - "first_markdown_element": "tests/detectors/protected-vars/0.8.2/comment.sol#L47-L49", - "id": "347d5dbdb03710066bc29d7772156fe5ff3d3371fa4eee4839ee221a1d0de0a4", - "check": "protected-vars", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "set_not_protected", - "source_mapping": { - "start": 653, - "length": 85, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "set_not_protected()" - } - }, - { - "type": "function", - "name": "onlyOwner", - "source_mapping": { - "start": 210, - "length": 88, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "onlyOwner()" - } - }, - { - "type": "variable", - "name": "external_contract", - "source_mapping": { - "start": 184, - "length": 19, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ReentrancyAndWrite.set_not_protected() (tests/detectors/protected-vars/0.8.2/comment.sol#31-33) should have ReentrancyAndWrite.onlyOwner() (tests/detectors/protected-vars/0.8.2/comment.sol#11-14) to protect ReentrancyAndWrite.external_contract (tests/detectors/protected-vars/0.8.2/comment.sol#9)\n", - "markdown": "[ReentrancyAndWrite.set_not_protected()](tests/detectors/protected-vars/0.8.2/comment.sol#L31-L33) should have [ReentrancyAndWrite.onlyOwner()](tests/detectors/protected-vars/0.8.2/comment.sol#L11-L14) to protect [ReentrancyAndWrite.external_contract](tests/detectors/protected-vars/0.8.2/comment.sol#L9)\n", - "first_markdown_element": "tests/detectors/protected-vars/0.8.2/comment.sol#L31-L33", - "id": "3f3bc8c8a9b3e23482f47f1133aceaed81c2c781c6aaf25656a8e578c9f6cb0e", - "check": "protected-vars", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json b/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json deleted file mode 100644 index 8ad293dd8..000000000 --- a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testMapping", - "source_mapping": { - "start": 265, - "length": 47, - "filename_relative": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 138, - "length": 345, - "filename_relative": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bug.testMapping (tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables\n", - "markdown": "[Bug.testMapping](tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14) is a public mapping with nested variables\n", - "first_markdown_element": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14", - "id": "100978112524def620b003331f34b2b51eb78cae6f7eb2793d9671b4b7bb858a", - "check": "public-mappings-nested", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json b/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json deleted file mode 100644 index 6c90587f7..000000000 --- a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6", - "id": "5e6cc88b3d8b0ef5d6247751e3b9cf045557e07c6f0de8d9f1270db008fca82a", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12", - "id": "7423f2beb0d066fc4e193c27dd50b172186e9539b778ab72bf950dbe872df720", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14", - "id": "c3c9961e4467e57974929ecfaeb34a0923fc257422a7705c9d1b14257cfe0c3a", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8", - "id": "cb9ace5d0188d80bdc530d3760b41a1dcf1a4c10151b720e468550bb22be0e74", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7", - "id": "da776628bba71bca43caf77bb06a7055fe3c0f4f18a30274c5cb508bcb3a27b4", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13", - "id": "e0137cf6a61eb49d07e1a67a7cdfd0cb82cac0402cded9f1cfb85ae1e6e8d3fe", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json b/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json deleted file mode 100644 index c2d6d347f..000000000 --- a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13", - "id": "342d8ac4c8c6e96ca7ca18f4bb9abed731c08b4c19a4461151ea48fc503be342", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6", - "id": "58d73cb2126e8c76752e57c69feeed96ee7db0cc50cf33c0f92679525acc26e9", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14", - "id": "b36c497f678f32a5479ead924c310a0c86b398e465f69b0e7365f06befaef172", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12", - "id": "f21c726ae13fb80091dca415c8d15bf8999c0197b56a65bcbabc4cb86963efe7", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7", - "id": "f57f949deb97e88dedd17864427a4941d1395be24db436d3a45945a45c53b919", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8", - "id": "faaa2cdb764d49e4d06709c566d903cc4b222634a27b31bbbb0217a13b84aa62", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json b/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json deleted file mode 100644 index 4a0fa9f16..000000000 --- a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8", - "id": "1ffcec7a83522ce311c8410e5523283b97944a0c27356e3141b26a7f32a022d3", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14", - "id": "5223d6cc441a1f923616873898ea34e0ff11a758c38d6b5244b9e9ea6be9bec8", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12", - "id": "53f741bfdd4465fbdb8799391ca2fa50ac657b72ac9b822c87e2e4ae79d831d8", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6", - "id": "c58083eaf5653fc9616833c617157456ad9088c4638009d9cdfebdc1445671bd", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7", - "id": "f0fef441fabe415b9cbc63bfc5a2a5c69f6248ce22d1bd94f73979f928cb7dba", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13", - "id": "f902982db50d530e22b29f35ab1a740f1af29683b0ebb9edd53240721b4f95b9", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json b/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json deleted file mode 100644 index 2420bd33b..000000000 --- a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14", - "id": "45bb5d6a69015db0e07e6d13107db089e1095da3cf0918f624db12181fac28a1", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7", - "id": "73207d71a134f0726a839874ee88cdf509766ac7e23c2bce3d0b86c121b2fd4c", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13", - "id": "774a4440b59af9fa94c7552ba0ce21a7835511012dc6257afc3fd4d80a023b28", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8", - "id": "caf262c2d237789c12de0cf27ef88625491b29a1bc3209ced3a12d2890fc799e", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6", - "id": "d16c698a23693dc64165fc886c68f6900a7a2699998f0f3713d875cf49a2af87", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12", - "id": "ffe6709dbcfc3342d28833aad5375135da8cc7369bf0649ab1796ff4eae14ca1", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json deleted file mode 100644 index be84dbec2..000000000 --- a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json +++ /dev/null @@ -1,4814 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1184, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1215, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#53-57):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#54)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L54)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57", - "id": "254751a69c99356562e79eb0a53483ca1bcb0e9c4c847219206c665624db8a4c", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 359, - "length": 20, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 359, - "length": 20, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 423, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#16-21):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#20)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L20)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21", - "id": "2a39756367d068df6d24cfb010f495564ad89f8696ab2eaf9635d640412963cb", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1008, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1040, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1008, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1040, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1071, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#46-51):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#47)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#49)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L47)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L49)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51", - "id": "2c5b7e723892ca273cde4bf80ff3909e425d55cc6de2a2c0778c4cfed2e32e11", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 13, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 13, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 748, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#29-38):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#30)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#33)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L30)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L33)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38", - "id": "3180ddee7a1760e704dea65602dda2c269e95d0623dd8dba90c0fa59fc983078", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 495, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 495, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 561, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#23-27):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#26)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L26)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27", - "id": "5fb57eb2a5139fdffbb315bf81a08464938d5f19d8b87e1c292d5be33d8ddd40", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 909, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#40-44):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#41)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#42)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L41)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L42)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44", - "id": "a810049262dd308ddb72c1e0ff5f221cc85389c1e0a91b3e9c1eb06264e8de75", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json deleted file mode 100644 index a683dc6ec..000000000 --- a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1127, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52", - "id": "09715812e28a5537647f577ab2ae708e7a3c903caf67e0ea43e15320f8a602c5", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 612, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28", - "id": "182811ddaccda6e1fc2f65594a377c1592929956b04e6e52c5ad7c0121f0c809", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 804, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39", - "id": "252ced5708ae1cf4a55673e963669257e8c4f2601c814c635fde84d478612e2a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22", - "id": "7222cf72aee6330979168010b682e7d820989fbbf9a23906914e967a0f5533e6", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1242, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1273, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58", - "id": "b371cf739f2ef594320a33b4d707024727f7fc7cabf48f9946f65653429b671e", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45", - "id": "b4ca5fb9ad17bbab425a11b56f4fb0466db3680404ffb27f185072af6033dae3", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json deleted file mode 100644 index 550404d79..000000000 --- a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 804, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39", - "id": "3c650a2918e51e0de52806ff655cd61f80b0b71fa3d15c7c5bf82702827ef167", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45", - "id": "58281d2d0d4b435e02839ff31a2390af2ba44c481c46231470a3259a6a3bedc3", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 612, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28", - "id": "8f0d7d7d0fe7ab37eac4842bec23c83b63015f99144343b9d4b2201fda3ec73b", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22", - "id": "a7b654e48f473524c116a9596c90ad440fb301bfdf4906256200347e7d5b052f", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1127, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52", - "id": "d5049610fe8d402e1f27f6a2d900c97748d1fdc7792b87c2c6bf6eb2a3233108", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1242, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1273, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58", - "id": "e7c7c3ed238e9eb57245ccd9723aaaf8e9e1b2948b43d39ba9ab99228fb09ec4", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json deleted file mode 100644 index 63712de9d..000000000 --- a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 464, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22", - "id": "048313a93ec637e415b1c374abb90f2893f9c9952499c48b5872fe196cf55299", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 677, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1000}()", - "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 677, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1000}()", - "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 797, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#31)\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L31)\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39", - "id": "6717f4516d88a5c7e163ec2f50f29be4b3ea7e2df36e9fbc688489a69fef5d77", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1120, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52", - "id": "a761807476d935cb91dbefd6f8fd28baaf9b805bf4df2fb9066c4c442d768980", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 605, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28", - "id": "c80120e0907dee95cc562b53958082d0664ee15a3aaa617ac17e27d25ae48d46", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1235, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1266, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#55)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L55)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58", - "id": "d1495003f18e1d1814ff11bb252ae6d8a0d3a42338e6def154390acf5d1a4d55", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 958, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45", - "id": "daed2df217460e31f6b03c385a5256ad0e29f973a06779d9b95c059c3c9c5c48", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index fa3420830..000000000 --- a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,9301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - }, - { - "type": "node", - "name": "! isRecipientAllowed(p.recipient)", - "source_mapping": { - "start": 33981, - "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 881 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())", - "source_mapping": { - "start": 43091, - "length": 289, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1159, - 1160, - 1161, - 1162, - 1163 - ], - "starting_column": 13, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isRecipientAllowed", - "source_mapping": { - "start": 42994, - "length": 457, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isRecipientAllowed(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! p.recipient.call.value(p.amount)(_transactionData)", - "source_mapping": { - "start": 35109, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 915 - ], - "starting_column": 17, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! p.creator.send(p.proposalDeposit)", - "source_mapping": { - "start": 34718, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 904 - ], - "starting_column": 17, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! p.recipient.call.value(p.amount)(_transactionData)", - "source_mapping": { - "start": 35109, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 915 - ], - "starting_column": 17, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "p.proposalPassed = true", - "source_mapping": { - "start": 35198, - "length": 23, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 918 - ], - "starting_column": 13, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "closeProposal(_proposalID)", - "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 933 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.open = false", - "source_mapping": { - "start": 36121, - "length": 14, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 944 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "closeProposal", - "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "closeProposal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "rewardToken[address(this)] += p.amount", - "source_mapping": { - "start": 35698, - "length": 38, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 928 - ], - "starting_column": 17, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "rewardToken" - } - }, - { - "type": "node", - "name": "closeProposal(_proposalID)", - "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 933 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" - } - }, - { - "type": "node", - "name": "sumOfProposalDeposits -= p.proposalDeposit", - "source_mapping": { - "start": 36069, - "length": 42, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 943 - ], - "starting_column": 13, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "closeProposal", - "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "closeProposal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" - } - }, - { - "type": "node", - "name": "totalRewardToken += p.amount", - "source_mapping": { - "start": 35754, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 929 - ], - "starting_column": 17, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "totalRewardToken" - } - } - ], - "description": "Reentrancy in DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937):\n\tExternal calls:\n\t- ! isRecipientAllowed(p.recipient) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#881)\n\t\t- allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1159-1163)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tExternal calls sending eth:\n\t- ! p.creator.send(p.proposalDeposit) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#904)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tState variables written after the call(s):\n\t- p.proposalPassed = true (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#918)\n\tDAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- p.open = false (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#944)\n\tDAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- rewardToken[address(this)] += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#928)\n\tDAOInterface.rewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#410) can be used in cross function reentrancies:\n\t- DAO.changeProposalDeposit(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1139-1146)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1174-1178)\n\t- DAO.newContract(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.rewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#410)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- sumOfProposalDeposits -= p.proposalDeposit (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#943)\n\tDAOInterface.sumOfProposalDeposits (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#436) can be used in cross function reentrancies:\n\t- DAO.actualBalance() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1169-1171)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- totalRewardToken += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#929)\n\tDAOInterface.totalRewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#412) can be used in cross function reentrancies:\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.isRecipientAllowed(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1158-1167)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.totalRewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#412)\n", - "markdown": "Reentrancy in [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937):\n\tExternal calls:\n\t- [! isRecipientAllowed(p.recipient)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L881)\n\t\t- [allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1159-L1163)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tExternal calls sending eth:\n\t- [! p.creator.send(p.proposalDeposit)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L904)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tState variables written after the call(s):\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L918)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [p.open = false](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L944)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [rewardToken[address(this)] += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L928)\n\t[DAOInterface.rewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L410) can be used in cross function reentrancies:\n\t- [DAO.changeProposalDeposit(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1139-L1146)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [DAO.newContract(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.rewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L410)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [sumOfProposalDeposits -= p.proposalDeposit](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L943)\n\t[DAOInterface.sumOfProposalDeposits](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L436) can be used in cross function reentrancies:\n\t- [DAO.actualBalance()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1169-L1171)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [totalRewardToken += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L929)\n\t[DAOInterface.totalRewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L412) can be used in cross function reentrancies:\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.isRecipientAllowed(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1158-L1167)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.totalRewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L412)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937", - "id": "b0ba06b4d03ea41bf0a200039964e2095441dddc3ffa19c56a40182a4cba834a", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - }, - { - "type": "node", - "name": "extraBalance.balance >= extraBalance.accumulatedInput()", - "source_mapping": { - "start": 11704, - "length": 55, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 321 - ], - "starting_column": 17, - "ending_column": 72 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "extraBalance.payOut(address(this),extraBalance.accumulatedInput())", - "source_mapping": { - "start": 11777, - "length": 67, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 322 - ], - "starting_column": 17, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", - "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 325 - ], - "starting_column": 17, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", - "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 325 - ], - "starting_column": 17, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "weiGiven[msg.sender] = 0", - "source_mapping": { - "start": 12111, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 329 - ], - "starting_column": 17, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "weiGiven" - } - } - ], - "description": "Reentrancy in TokenCreation.refund() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#318-332):\n\tExternal calls:\n\t- extraBalance.balance >= extraBalance.accumulatedInput() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#321)\n\t- extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#322)\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tExternal calls sending eth:\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tState variables written after the call(s):\n\t- weiGiven[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#329)\n\tTokenCreationInterface.weiGiven (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#251) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#318-332)\n", - "markdown": "Reentrancy in [TokenCreation.refund()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332):\n\tExternal calls:\n\t- [extraBalance.balance >= extraBalance.accumulatedInput()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L321)\n\t- [extraBalance.payOut(address(this),extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L322)\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tExternal calls sending eth:\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tState variables written after the call(s):\n\t- [weiGiven[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L329)\n\t[TokenCreationInterface.weiGiven](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L251) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332", - "id": "ec60469e1cc5d8cd352a86998673bfb43580d5119e501f9a3e58e3b55befb0a9", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index c16d1be61..000000000 --- a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,851 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(amount / 2)()", - "source_mapping": { - "start": 2620, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 2667, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 78 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80):\n\tExternal calls:\n\t- msg.sender.call.value(amount / 2)() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#77)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#78)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80):\n\tExternal calls:\n\t- [msg.sender.call.value(amount / 2)()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L77)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L78)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80", - "id": "5853108dfdb4138662a85fbd17c35511950298872f89c124f1869942c6c4e880", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call.value(userBalance[msg.sender])())", - "source_mapping": { - "start": 839, - "length": 53, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 936, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31):\n\tExternal calls:\n\t- ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#27)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#30)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31):\n\tExternal calls:\n\t- [! (msg.sender.call.value(userBalance[msg.sender])())](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L27)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L30)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31", - "id": "8746b87cbc0fcd59a17ae20018967719c6ebc9fca41c6a128e5ac18dd4ee27cc", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index 4c7ee5e88..000000000 --- a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 742, - "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 681, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 829, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 873, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29", - "id": "7ff6a788e1559497246f084096fd10a9fd3a7d30de1b89ac896b7600ba32710d", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json deleted file mode 100644 index 242d7bf7e..000000000 --- a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()", - "source_mapping": { - "start": 882, - "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1026, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33", - "id": "1fec5eddc1a1f7c95bbaa72099c7f36d9c8768271ba1bb51b2ece7f2dab1a175", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(amount)()", - "source_mapping": { - "start": 2084, - "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2183, - "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64", - "id": "c1a4b6379bd0137d705b0e1994021e4478445b98ba4d23c547338f09e2213ef0", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json deleted file mode 100644 index e489c1d98..000000000 --- a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 782, - "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 721, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 869, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 913, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29", - "id": "52cd1e82b29830aa25a1ea1bbc1b35c0e3097eab1f2922b4ecc98eae8f1ed225", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json deleted file mode 100644 index ed59ee2c0..000000000 --- a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(amount)()", - "source_mapping": { - "start": 2088, - "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2187, - "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64", - "id": "bc199b4c8749cb08649e2084ac891e0cb098640e2752bf319ffa79d99ee10cdb", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()", - "source_mapping": { - "start": 886, - "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1030, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33", - "id": "c8c4106c11c4f1fc4a76fc18e91bb3132d5b8d95d94c707453f64be98f1efa8d", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json deleted file mode 100644 index 1c6cf3b56..000000000 --- a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 807, - "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 746, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 894, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 938, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29", - "id": "f892080cd6edb9d73d435cd8c4cea16e1b65098abf2a0df5debcd493787f6654", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json deleted file mode 100644 index 05be376b4..000000000 --- a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call{value: amount}()", - "source_mapping": { - "start": 2084, - "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2183, - "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: amount}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: amount}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64", - "id": "75d254de1c95646a633659a0bb8c1cd874b1a83f8bdba6fda28e9092be76beeb", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()", - "source_mapping": { - "start": 882, - "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1026, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33", - "id": "a20a04b25c124d64a595c2dec1a37f745f1594c4f0461622c558d66911ea5235", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json deleted file mode 100644 index 7f45a528f..000000000 --- a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 807, - "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 746, - "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 894, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 938, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29", - "id": "8aacbf836cda179a2f29017ba3fb238dbb3e88837efd207cd07622e5c746f56a", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json deleted file mode 100644 index c9754292b..000000000 --- a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json +++ /dev/null @@ -1,231 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 231, - "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 290, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#10)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#11)\n\tTestWithBug.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#6) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12)\n\t- TestWithBug.withdrawFiltered(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#15-19)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L10)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L11)\n\t[TestWithBug.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L6) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12)\n\t- [TestWithBug.withdrawFiltered(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L15-L19)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12", - "id": "176d2b5b09c260c72fd638ff8b5db4709df3ff3eb253daa1cfde254c8299fb94", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json deleted file mode 100644 index 9f1dbed3e..000000000 --- a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json +++ /dev/null @@ -1,981 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 3200, - "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 140 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 3259, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 141 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBugNonReentrantRead.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#138-142):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#140)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#141)\n\tTestWithBugNonReentrantRead.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#132) can be used in cross function reentrancies:\n\t- TestWithBugNonReentrantRead.read() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#146-149)\n", - "markdown": "Reentrancy in [TestWithBugNonReentrantRead.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L138-L142):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L140)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L141)\n\t[TestWithBugNonReentrantRead.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L132) can be used in cross function reentrancies:\n\t- [TestWithBugNonReentrantRead.read()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L146-L149)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L138-L142", - "id": "0b2149d8ea8554c24092bad5ce3061d661d4f0447d5d96716893538474bca40f", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 1429, - "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 1488, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBugInternal.withdraw_internal(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#62-66):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#64)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#65)\n\tTestWithBugInternal.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#52) can be used in cross function reentrancies:\n\t- TestWithBugInternal.withdraw_all_internal() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#72-76)\n", - "markdown": "Reentrancy in [TestWithBugInternal.withdraw_internal(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L62-L66):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L64)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L65)\n\t[TestWithBugInternal.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L52) can be used in cross function reentrancies:\n\t- [TestWithBugInternal.withdraw_all_internal()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L72-L76)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L62-L66", - "id": "7d618f027540d61d9af79a3a9475677476d1c4d7ad1be68ff8026f6c0d4cdc82", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 2858, - "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 2917, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 125 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestBugWithPublicVariable.withdraw_internal(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#122-126):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#124)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#125)\n\tTestBugWithPublicVariable.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) can be used in cross function reentrancies:\n\t- TestBugWithPublicVariable.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112)\n", - "markdown": "Reentrancy in [TestBugWithPublicVariable.withdraw_internal(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L122-L126):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L124)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L125)\n\t[TestBugWithPublicVariable.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112) can be used in cross function reentrancies:\n\t- [TestBugWithPublicVariable.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L122-L126", - "id": "a3e52c882aa9fb88119aa3507f4158436bfe3f1abee0828665afa41213587097", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 292, - "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 351, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#13-17):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#15)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#16)\n\tTestWithBug.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#7) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw_all() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#19-23)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L13-L17):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L15)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L16)\n\t[TestWithBug.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L7) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw_all()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L19-L23)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L13-L17", - "id": "bcfa65e776908d618f202fa48f03dde3fbf8397b752d2e8cc3c8e46019e9e174", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json deleted file mode 100644 index 649278f4f..000000000 --- a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17", - "id": "314eb87452ecb57911a225bbbd538d33f9204518026249a12410e19413554727", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json deleted file mode 100644 index df705566d..000000000 --- a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17", - "id": "1f754abe7a9cadfa9e0ea549a49219ba95c55bb5eaf79698de27f0fa460eb0f2", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json deleted file mode 100644 index 174b7c5cd..000000000 --- a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17", - "id": "959396e18ec2c541dcb7c9e9f318504e794922dd6f48ffd9885d11289b5f83ba", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 67304b3a5..000000000 --- a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,27535 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - }, - { - "type": "node", - "name": "reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender]", - "source_mapping": { - "start": 39789, - "length": 145, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1044, - 1045, - 1046 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! DAOrewardAccount.payOut(dao.rewardAccount(),reward)", - "source_mapping": { - "start": 39977, - "length": 53, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1048 - ], - "starting_column": 17, - "ending_column": 70 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! DAOrewardAccount.payOut(dao,reward)", - "source_mapping": { - "start": 40100, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1052 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "DAOpaidOut[msg.sender] += reward", - "source_mapping": { - "start": 40180, - "length": 32, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1055 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "DAOpaidOut" - } - } - ], - "description": "Reentrancy in DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057):\n\tExternal calls:\n\t- reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046)\n\t- ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1048)\n\t- ! DAOrewardAccount.payOut(dao,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1052)\n\tState variables written after the call(s):\n\t- DAOpaidOut[msg.sender] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1055)\n\tDAOInterface.DAOpaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#423) can be used in cross function reentrancies:\n\t- DAOInterface.DAOpaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#423)\n\t- DAO.newContract(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n", - "markdown": "Reentrancy in [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057):\n\tExternal calls:\n\t- [reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1044-L1046)\n\t- [! DAOrewardAccount.payOut(dao.rewardAccount(),reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1048)\n\t- [! DAOrewardAccount.payOut(dao,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1052)\n\tState variables written after the call(s):\n\t- [DAOpaidOut[msg.sender] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1055)\n\t[DAOInterface.DAOpaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L423) can be used in cross function reentrancies:\n\t- [DAOInterface.DAOpaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L423)\n\t- [DAO.newContract(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057", - "id": "46f3602c51aa374d23e5b813ad0fe727cb1ea9b91d446c8e8eee0665554d8752", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - }, - { - "type": "node", - "name": "! withdrawRewardFor(_from)", - "source_mapping": { - "start": 41890, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1118 - ], - "starting_column": 13, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "transferFrom(_from,_to,_value)", - "source_mapping": { - "start": 41944, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1120 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_to] += _amount", - "source_mapping": { - "start": 4393, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 120 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 4127, - "length": 509, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_from] -= _amount", - "source_mapping": { - "start": 4431, - "length": 26, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 121 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 4127, - "length": 509, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "transferFrom(_from,_to,_value)", - "source_mapping": { - "start": 41944, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1120 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_from] -= transferPaidOut", - "source_mapping": { - "start": 42279, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1133 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_to] += transferPaidOut", - "source_mapping": { - "start": 42322, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1134 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.transferFromWithoutReward(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121):\n\tExternal calls:\n\t- ! withdrawRewardFor(_from) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1118)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#120)\n\t\t- balances[_from] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#121)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferFromWithoutReward(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121):\n\tExternal calls:\n\t- [! withdrawRewardFor(_from)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1118)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L120)\n\t\t- [balances[_from] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L121)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121", - "id": "909a0ca64efee741832ff649b172fed1112e86771da217fea671356d66c42a49", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - }, - { - "type": "node", - "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", - "source_mapping": { - "start": 37159, - "length": 49, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 974 - ], - "starting_column": 13, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", - "source_mapping": { - "start": 44544, - "length": 74, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1196 - ], - "starting_column": 9, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createNewDAO", - "source_mapping": { - "start": 44427, - "length": 198, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1194, - 1195, - 1196, - 1197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createNewDAO(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "withdrawRewardFor(msg.sender)", - "source_mapping": { - "start": 38796, - "length": 29, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1015 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "balances[msg.sender] = 0", - "source_mapping": { - "start": 38912, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1017 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "paidOut[msg.sender] = 0", - "source_mapping": { - "start": 38946, - "length": 23, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1018 - ], - "starting_column": 9, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "totalSupply -= balances[msg.sender]", - "source_mapping": { - "start": 38867, - "length": 35, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1016 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "totalSupply" - } - } - ], - "description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\t- withdrawRewardFor(msg.sender) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1015)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1017)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- paidOut[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1018)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n\t- totalSupply -= balances[msg.sender] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1016)\n\tTokenInterface.totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#45) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1174-1178)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- TokenInterface.totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#45)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\t- [withdrawRewardFor(msg.sender)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1015)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1017)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [paidOut[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1018)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n\t- [totalSupply -= balances[msg.sender]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1016)\n\t[TokenInterface.totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L45) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [TokenInterface.totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L45)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "963e4c36f1b98773a1c2817e28fb118a93db29d43e20dfa8d001139ba2a4175f", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - }, - { - "type": "node", - "name": "! getMyReward()", - "source_mapping": { - "start": 41288, - "length": 14, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1092 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "transfer(_to,_value)", - "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1094 - ], - "starting_column": 9, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= _amount", - "source_mapping": { - "start": 3920, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 101 - ], - "starting_column": 13, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 3765, - "length": 356, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_to] += _amount", - "source_mapping": { - "start": 3965, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 102 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 3765, - "length": 356, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "transfer(_to,_value)", - "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1094 - ], - "starting_column": 9, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_from] -= transferPaidOut", - "source_mapping": { - "start": 42279, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1133 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_to] += transferPaidOut", - "source_mapping": { - "start": 42322, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1134 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095):\n\tExternal calls:\n\t- ! getMyReward() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1092)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- balances[msg.sender] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#101)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#102)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferWithoutReward(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095):\n\tExternal calls:\n\t- [! getMyReward()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1092)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [balances[msg.sender] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L101)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L102)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095", - "id": "ad6f23948098980472bb7aff30e5fff31c6b90fe570d3f9fa5aa33faaddf32e3", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - }, - { - "type": "node", - "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", - "source_mapping": { - "start": 37159, - "length": 49, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 974 - ], - "starting_column": 13, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", - "source_mapping": { - "start": 44544, - "length": 74, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1196 - ], - "starting_column": 9, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createNewDAO", - "source_mapping": { - "start": 44427, - "length": 198, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1194, - 1195, - 1196, - 1197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createNewDAO(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "p.splitData[0].splitBalance = actualBalance()", - "source_mapping": { - "start": 37456, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 981 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.splitData[0].rewardToken = rewardToken[address(this)]", - "source_mapping": { - "start": 37515, - "length": 55, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 982 - ], - "starting_column": 13, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.splitData[0].totalSupply = totalSupply", - "source_mapping": { - "start": 37584, - "length": 40, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 983 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.proposalPassed = true", - "source_mapping": { - "start": 37638, - "length": 23, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 984 - ], - "starting_column": 13, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - } - ], - "description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\tState variables written after the call(s):\n\t- p.splitData[0].splitBalance = actualBalance() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#981)\n\tDAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].rewardToken = rewardToken[address(this)] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#982)\n\tDAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].totalSupply = totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#983)\n\tDAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.proposalPassed = true (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#984)\n\tDAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\tState variables written after the call(s):\n\t- [p.splitData[0].splitBalance = actualBalance()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L981)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].rewardToken = rewardToken[address(this)]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L982)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].totalSupply = totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L983)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L984)\n\t[DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "e68209eb3271625f1c21778f53fe675ae0daaa8c769d3a73d7cc49fc0b9624c0", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "paidOut[_account] += reward", - "source_mapping": { - "start": 40779, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1072 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074):\n\tExternal calls:\n\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- paidOut[_account] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1072)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074):\n\tExternal calls:\n\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [paidOut[_account] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1072)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074", - "id": "f722fd06c30754e9f97e39e08629bbfc87c8791397463889c85944b9223026dc", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 56e1888f9..000000000 --- a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,890 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "success = msg.sender.call()", - "source_mapping": { - "start": 560, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 630, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 391, - "length": 20, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 630, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 455, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29):\n\tExternal calls:\n\t- success = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#26)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29):\n\tExternal calls:\n\t- [success = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L26)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29", - "id": "3abbc9e8f73096dd53d7a40513439b00f2bcfb9c594446c25eb8f0845a83f634", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 391, - "length": 20, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 455, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22", - "id": "849ca5d32a80a76091f9049ebde3e9267a1c1bc22fd11197246e748b56a31f3b", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json deleted file mode 100644 index d22a8dc15..000000000 --- a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 605, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L27)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30", - "id": "80cbbc2ca9b1ec618f677d49ad8c55c3e7b458a8f8f2d5083e5388dabf526d6f", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23", - "id": "aec3401a9ebdcd0961e5a0f704379be83fc18e5c8ea5e98641b0ea1783184a3d", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json deleted file mode 100644 index b414073d1..000000000 --- a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23", - "id": "92d6df62568c8094a9c5cd5c7e4c7162054281244d3d3a1d4efe7df14d18a35a", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 605, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#27)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L27)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30", - "id": "b0372b9d2879e62eb13c185a89ae1e80653ef3339cb5521630a9717e1592100e", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 7c01c5ce0..000000000 --- a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 444, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 547, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27", - "id": "24a6dbb0286f86f1dac424bdc447262dcbfda1a1c637c4c0f21885b82eb9af24", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 652, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 725, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 444, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 725, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 547, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#31)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L31)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34", - "id": "e8259d1bbe21b2c12ea23f8ed1c67b9a8f63a1828d3b91db1f7b78ddd43ef7d6", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json b/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json deleted file mode 100644 index 973cb0b52..000000000 --- a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json +++ /dev/null @@ -1,712 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "C", - "source_mapping": { - "start": 176, - "length": 42, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "C(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [C.C(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "085dceba8f0b37580e72952eafe1368bf0d09f10c2f44c0b6ff53ad7e72f92b1", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "14d6bffb3f1849cfebb7156cb797315fd01ac83911a1261650f702792f4db830", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 375, - "length": 57, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 375, - "length": 57, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38", - "id": "71e08d0e5c44bbc2671e014018a6333bd92db7380a85732bf2d17aa5500f6434", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24", - "id": "7436d3215ee6260f9a4b2f4697fa242225ad3f10e30bfbd162679a5e3fa48f10", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18", - "id": "d2847fcb309e0ee45dfb303bf749123bbebee692a080ae6a718a76ef785ae8d2", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "B", - "source_mapping": { - "start": 109, - "length": 42, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "B(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [B.B(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "e79d62c434ba85788dd5087e4994bb136be6b9e8a55e8057b0e30c9b0436abdc", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json b/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json deleted file mode 100644 index c5c42e83a..000000000 --- a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json +++ /dev/null @@ -1,1009 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "1f85bf19873eaee39a8f703b0c783aa86e34c91fad5556ee831eb7c6adcfdb77", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18", - "id": "2d9d2b1b6d2540f86fd909f9766e128da573e659f40a50835cc9adef3c4dbee8", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 178, - "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "33b16377cf3026b60d644e79d92682e6e626d7ad6598387440c9b20fd8aa44fe", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "5f3b188e7d6c737684f829c3fde96f739cd502b4aba8f3f6e3ceab7decffa618", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 178, - "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "b579da8996b6a1a35169bcae74ad8126c68fb0a1819d3977cea3e0e295ff2d5c", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 380, - "length": 58, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 380, - "length": 58, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38", - "id": "b74eb2b11af7a004b623d28b035228963f09aed588c95efed636021f426c5cdc", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) contract definition\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "ee7d44329ffb81dc06e2a2f1b3a166a5115287a1175b32cf828b57479afbc4ae", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "f5c86955c15d44fe9471680d12d37843a15ba934cbb124786cadab0919ea68d1", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json b/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json deleted file mode 100644 index d78db7c2d..000000000 --- a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "02545af9e98ed496f7c9e2b2de0f66bcf8e8e31c25a2a2626b5bad92619b1f85", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json b/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json deleted file mode 100644 index ab3554e53..000000000 --- a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "d347f1cb6d791b00f8a6ad65c201eeaa527636f2bf2c5529102441c56e994b33", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json b/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json deleted file mode 100644 index 4c3c1fd07..000000000 --- a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "2cc2fa8e55fae035ed2ebc4798c488d64e92c7c9875fe6699e39103c0b95c264", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json b/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json deleted file mode 100644 index 0ea71a81f..000000000 --- a/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json +++ /dev/null @@ -1,88 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 336, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 14, - "ending_column": 17 - } - } - ], - "description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "2407672dea557be27d0c488ba9c714e6a7f21dd3f7759058e718c1984e142f95", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 348, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 26, - "ending_column": 29 - } - } - ], - "description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "477e54031d4d30d485b9cdc2d7ef3e9ae3de52640364505df8eb9619c2bcde6b", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 342, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 20, - "ending_column": 23 - } - } - ], - "description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "9dd23585bb0ff1f244f749281b27f62978e0bb5b0ae58c8c9cb6d3f9c7e82253", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json deleted file mode 100644 index 9cbd66d07..000000000 --- a/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 92, - "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 46, - "length": 63, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 44, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json deleted file mode 100644 index c5cd1b3d7..000000000 --- a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 92, - "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 46, - "length": 63, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 44, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json deleted file mode 100644 index 97c3998d4..000000000 --- a/tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json +++ /dev/null @@ -1,91 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 127, - "length": 24, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 81, - "length": 73, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 51, - "length": 25, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 24, - "length": 55, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.__gap (tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#7) shadows:\n\t- BaseContract.__gap (tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L7) shadows:\n\t- [BaseContract.__gap](tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L7", - "id": "8f81b2b4b3285fe96f0b580cdd2144cc6cf6808d970ba68878b9901744069c4c", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json b/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json deleted file mode 100644 index 801bcc38b..000000000 --- a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json +++ /dev/null @@ -1,799 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "mutable", - "source_mapping": { - "start": 527, - "length": 15, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reserved", - "source_mapping": { - "start": 504, - "length": 42, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Reserved.mutable (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol\"\n", - "markdown": "[Reserved.mutable](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32", - "id": "11840553a9e11623596d7a07275814e65a5b1d90277ae0e2954cd8ce74d6a6d2", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "ecrecover", - "source_mapping": { - "start": 170, - "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11", - "id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "keccak256", - "source_mapping": { - "start": 449, - "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25", - "id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "abi", - "source_mapping": { - "start": 365, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21", - "id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 54, - "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4", - "id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "this", - "source_mapping": { - "start": 346, - "length": 13, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20", - "id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "now", - "source_mapping": { - "start": 74, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.now (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5", - "id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "revert", - "source_mapping": { - "start": 89, - "length": 29, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "revert(bool)" - } - } - ], - "description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7", - "id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "msg", - "source_mapping": { - "start": 244, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 195, - "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - } - } - ], - "description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14", - "id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 195, - "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - ], - "description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15", - "id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "sha3", - "source_mapping": { - "start": 473, - "length": 9, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26", - "id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 322, - "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19", - "id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - ], - "description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28", - "id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json b/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json deleted file mode 100644 index 6fa7f2413..000000000 --- a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json +++ /dev/null @@ -1,749 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "ecrecover", - "source_mapping": { - "start": 173, - "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11", - "id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "keccak256", - "source_mapping": { - "start": 452, - "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25", - "id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "abi", - "source_mapping": { - "start": 368, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21", - "id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 57, - "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4", - "id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "this", - "source_mapping": { - "start": 349, - "length": 13, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20", - "id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "now", - "source_mapping": { - "start": 77, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.now (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5", - "id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "revert", - "source_mapping": { - "start": 92, - "length": 29, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "revert(bool)" - } - } - ], - "description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7", - "id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "msg", - "source_mapping": { - "start": 247, - "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 198, - "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - } - } - ], - "description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14", - "id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 198, - "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - ], - "description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15", - "id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "sha3", - "source_mapping": { - "start": 476, - "length": 9, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26", - "id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19", - "id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - ], - "description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28", - "id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json b/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json deleted file mode 100644 index e12b5f26d..000000000 --- a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json +++ /dev/null @@ -1,814 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 376, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 256, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 133, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 54, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 533, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 486, - "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 434, - "length": 225, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 470, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 434, - "length": 225, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 398, - "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 52, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 70, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 75, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 183, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 67, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 274, - "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 405, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 59, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 150, - "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json b/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json deleted file mode 100644 index d4d54ad9d..000000000 --- a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json +++ /dev/null @@ -1,977 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 379, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 259, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 136, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 57, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 536, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 489, - "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 473, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 401, - "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 52, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 424, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 75, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 186, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 416, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 67, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 277, - "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 653, - "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 583, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 631, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 583, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 408, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 59, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 153, - "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json b/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json deleted file mode 100644 index 2dc747505..000000000 --- a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json +++ /dev/null @@ -1,896 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 541, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 494, - "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 478, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 406, - "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 54, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 429, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 77, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 187, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 69, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 280, - "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 382, - "length": 8, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 260, - "length": 12, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 658, - "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 636, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 61, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 154, - "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json b/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json deleted file mode 100644 index e013dc0eb..000000000 --- a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json +++ /dev/null @@ -1,892 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 541, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 494, - "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 478, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 406, - "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 54, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 429, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 77, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 187, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 69, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 280, - "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 382, - "length": 8, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 260, - "length": 12, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 658, - "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 636, - "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 61, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 154, - "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json b/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json deleted file mode 100644 index 648750110..000000000 --- a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 172, - "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 126, - "length": 210, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 124, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json b/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json deleted file mode 100644 index 953f9c825..000000000 --- a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 172, - "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 126, - "length": 227, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 124, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json b/tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json b/tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json deleted file mode 100644 index fb9824ca1..000000000 --- a/tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 156, - "length": 24, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 110, - "length": 102, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 51, - "length": 25, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 24, - "length": 84, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.__gap (tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#8) shadows:\n\t- BaseContract.__gap (tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L8) shadows:\n\t- [BaseContract.__gap](tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L8", - "id": "8f81b2b4b3285fe96f0b580cdd2144cc6cf6808d970ba68878b9901744069c4c", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json b/tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json b/tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json b/tests/detectors/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json deleted file mode 100644 index 71d0228f9..000000000 --- a/tests/detectors/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.4.25/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.4.25/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.4.25/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.4.25/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.4.25/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json b/tests/detectors/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json deleted file mode 100644 index 29a08ad8a..000000000 --- a/tests/detectors/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.5.16/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.5.16/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.5.16/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.5.16/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.5.16/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json b/tests/detectors/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json deleted file mode 100644 index 18be023a0..000000000 --- a/tests/detectors/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.6.11/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.6.11/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.6.11/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.6.11/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.6.11/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json b/tests/detectors/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json deleted file mode 100644 index fbb5dd766..000000000 --- a/tests/detectors/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.7.6/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.7.6/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.7.6/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.7.6/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.7.6/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json b/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json deleted file mode 100644 index 9dea129b5..000000000 --- a/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.4.25", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/solc-version/0.4.25/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.4.25/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.4", - ".25" - ] - } - } - ], - "description": "Pragma version0.4.25 (tests/detectors/solc-version/0.4.25/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.4.25](tests/detectors/solc-version/0.4.25/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.4.25/static.sol#L1", - "id": "029e1373a8867a45707d0ef3f6d0895191b9a4c60e71980c2ac58b5589c6256c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.4.25 is not recommended for deployment\n", - "markdown": "solc-0.4.25 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "4d64003d70a62b1c6963f871e841b6cbd633d07d95554e1a50e0f25d9b71ebb3", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json b/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json deleted file mode 100644 index 03aded254..000000000 --- a/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.5.14", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/solc-version/0.5.14/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.14/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.5", - ".14" - ] - } - } - ], - "description": "Pragma version0.5.14 (tests/detectors/solc-version/0.5.14/static.sol#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n", - "markdown": "Pragma version[0.5.14](tests/detectors/solc-version/0.5.14/static.sol#L1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.14/static.sol#L1", - "id": "cf9412fdac7f959dea885dbcebb2f9cfb0f3b0ca55f8fc84ebdc51e09eaf6957", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)", - "markdown": "solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)", - "first_markdown_element": "", - "id": "d29c07fc4fd9f7602b9f99b17646c6ce1a1c10740d60888a7a706f2537f6e59d", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json b/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index 28381e3ca..000000000 --- a/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,40 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.15", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/solc-version/0.5.16/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.16/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".15" - ] - } - } - ], - "description": "Pragma version^0.5.15 (tests/detectors/solc-version/0.5.16/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.15](tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1", - "id": "b837ad353716586dca5845e185efa85b1ed38c36ff731820ea9a42fc72171527", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json b/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index 19ab5889f..000000000 --- a/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.5.0<0.6.0", - "source_mapping": { - "start": 0, - "length": 31, - "filename_relative": "tests/detectors/solc-version/0.5.16/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.16/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0", - "<", - "0.6", - ".0" - ] - } - } - ], - "description": "Pragma version>=0.5.0<0.6.0 (tests/detectors/solc-version/0.5.16/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.5.0<0.6.0](tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1", - "id": "0f9930eec9fe7848abc3ded6a5fc053e0208ffa1510b01518fb1348e0f0b01b1", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json b/tests/detectors/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json b/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json deleted file mode 100644 index 10d0a03fc..000000000 --- a/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.6.10 is not recommended for deployment\n", - "markdown": "solc-0.6.10 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "b2c2f26d29a163098673e6dcb2342e00d94996a84040bac62f7dbb2f20fa8f28", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "0.6.10", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/solc-version/0.6.10/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.10/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.6", - ".10" - ] - } - } - ], - "description": "Pragma version0.6.10 (tests/detectors/solc-version/0.6.10/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.6.10](tests/detectors/solc-version/0.6.10/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.10/static.sol#L1", - "id": "f8fa962b3064cc35b3504cfbd7bd2067f90239895c1c23a55ce6666803131780", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json b/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index b182c02c7..000000000 --- a/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,40 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.6.10", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/detectors/solc-version/0.6.11/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.11/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".10" - ] - } - } - ], - "description": "Pragma version^0.6.10 (tests/detectors/solc-version/0.6.11/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.6.10](tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1", - "id": "ba2de3955a664b3846697e1ad89d5eb477b9992d67d86bf5ac36b904a8ccca4b", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json b/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index 4f844e25e..000000000 --- a/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.6.0<0.7.0", - "source_mapping": { - "start": 0, - "length": 31, - "filename_relative": "tests/detectors/solc-version/0.6.11/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.11/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.7", - ".0" - ] - } - } - ], - "description": "Pragma version>=0.6.0<0.7.0 (tests/detectors/solc-version/0.6.11/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.6.0<0.7.0](tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1", - "id": "8c08bc3809d977ad0253b208683307501206a69d53c84f78e68fad3ae144117c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json b/tests/detectors/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json b/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json deleted file mode 100644 index 6c3c37cde..000000000 --- a/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.7.4 is not recommended for deployment\n", - "markdown": "solc-0.7.4 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "27e54a3813c974274b355c03bd742d4f2b8cd63fa57143b4fb741cbecd022dd2", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "0.7.4", - "source_mapping": { - "start": 0, - "length": 22, - "filename_relative": "tests/detectors/solc-version/0.7.4/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.4/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 23 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.7", - ".4" - ] - } - } - ], - "description": "Pragma version0.7.4 (tests/detectors/solc-version/0.7.4/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.7.4](tests/detectors/solc-version/0.7.4/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.4/static.sol#L1", - "id": "770bd3666c605dc3b8e7422296714d365b70b9bf6b75b35ef42c2068568dd6f2", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json b/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index aafb7b5d1..000000000 --- a/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,40 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.7.4", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/detectors/solc-version/0.7.6/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.6/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".4" - ] - } - } - ], - "description": "Pragma version^0.7.4 (tests/detectors/solc-version/0.7.6/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.7.4](tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1", - "id": "e46d6be1a19a445ff20b2e96a37cb7355cf88d3c93d72bfc963db2a86f303d11", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json b/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index 4aea32763..000000000 --- a/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.7.0<=0.7.6", - "source_mapping": { - "start": 0, - "length": 32, - "filename_relative": "tests/detectors/solc-version/0.7.6/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.6/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 33 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<=", - "0.7", - ".6" - ] - } - } - ], - "description": "Pragma version>=0.7.0<=0.7.6 (tests/detectors/solc-version/0.7.6/dynamic_2.sol#1) is too complex\n", - "markdown": "Pragma version[>=0.7.0<=0.7.6](tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1) is too complex\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1", - "id": "d63860d6851dda74b9cb989aa5ef5bbb9bcc22c1b6f217b9356c0fc843b78386", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json b/tests/detectors/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json b/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json b/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json b/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json deleted file mode 100644 index 2bd3d62ff..000000000 --- a/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/suicidal/0.4.25/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.4.25/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/suicidal/0.4.25/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.4.25/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json b/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json deleted file mode 100644 index de2db58c0..000000000 --- a/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/suicidal/0.5.16/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.5.16/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/suicidal/0.5.16/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.5.16/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json b/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json deleted file mode 100644 index 842344809..000000000 --- a/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/suicidal/0.6.11/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.6.11/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/suicidal/0.6.11/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.6.11/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json b/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json deleted file mode 100644 index 0dd3f119f..000000000 --- a/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/detectors/suicidal/0.7.6/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.7.6/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/detectors/suicidal/0.7.6/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.7.6/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json b/tests/detectors/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json deleted file mode 100644 index 6164ab1c6..000000000 --- a/tests/detectors/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.4.25/type_based_tautology.sol#L9-L11", - "id": "75dfe0b8776a8cf490a4e3f30366dec173fd0dc7418335f77c68ba5bca536382", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.4.25/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.4.25/type_based_tautology.sol#L2-L7", - "id": "c9b8085dbb7e6d0dfc2ee5711ac45a70e4c0f494ac4efcae42a6b947e3170ddb", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json b/tests/detectors/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json deleted file mode 100644 index 35a608c61..000000000 --- a/tests/detectors/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.5.16/type_based_tautology.sol#L9-L11", - "id": "0c29aa92764cb30104a4c4ba02e307d5949143b4cbfa2d8a52d9473140907872", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.5.16/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.5.16/type_based_tautology.sol#L2-L7", - "id": "764eb2c7aa5cd1a30d16deb620e0dc3b8a9e9170978908bcc1f6fc1ac5a8daa1", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json b/tests/detectors/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json deleted file mode 100644 index 38090fa5b..000000000 --- a/tests/detectors/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.6.11/type_based_tautology.sol#L9-L11", - "id": "51bc777574da16aab9aefb9d0294fdad9ef3a44136e9e7b1f7e05cfd9c1d4e54", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.6.11/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.6.11/type_based_tautology.sol#L2-L7", - "id": "fec3df769045cbe4984e50b2f651f60ffc36b116bc7273a64f761e8fbfc674b9", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json b/tests/detectors/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json deleted file mode 100644 index a667c1551..000000000 --- a/tests/detectors/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.7.6/type_based_tautology.sol#L9-L11", - "id": "036b1ecab6ee0dcb07806dbd8ffb05abf29941bbbcbb161da0013b31be51b3de", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.7.6/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.7.6/type_based_tautology.sol#L2-L7", - "id": "e444c1c7287bff97cae3505472d10d8ef5e01aa1f2e7660c81a3beb11eeaea0e", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json b/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json deleted file mode 100644 index aaaffd91c..000000000 --- a/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.4.25/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.4.25/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15", - "id": "2182d79d032d47fdf8137bc06dd7d4c1796356e19fab558e282f5d596391ec58", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6", - "id": "9d7c44d1a332d53aacc312d316891fc85c62db8b5a5a638a64cdb718c9f20029", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11", - "id": "d2f6167c2351e267210692e16350d8426db102519fe3eaeeadb6d17d2445dbbd", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json b/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json deleted file mode 100644 index 9a73beb8b..000000000 --- a/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11", - "id": "95b42362b948094ddfa2507b20840e67789d4c5d92e8e3ddac30f5b6577dc1cb", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6", - "id": "ae9cf69893e0e1a3487dc6ce8a8ae0f5ea9628607d77d32b3dfcb0202617d6e3", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.5.16/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.5.16/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15", - "id": "d4fe55a5e15b7b87f60c4156128807b333a4a630b25b18eb3a495b3613f764db", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json b/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json deleted file mode 100644 index 669ce43ff..000000000 --- a/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11", - "id": "5d42d80cf0c66675f78bbf7717e2c532f05e8b0641d100c436ef8e1d6dc02f61", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.6.11/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.6.11/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15", - "id": "c2c1fc5eaaf8498a2f03135fb61180314cbd104df5ab6b2447620b8ac3978cac", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6", - "id": "e4e3a8ade3a3bd11b4788b70785548f81395e776a86f2940834731e8f5e05bdc", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json b/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json deleted file mode 100644 index 95883faa2..000000000 --- a/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.7.6/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.7.6/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15", - "id": "11b3472709ff3f3a4b3ec47abaa5a62f8dbfcd3b0b6bea0972f5b3d790049130", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6", - "id": "e776b1a35c5ff7cecd1cf6eba25c7017c852dfab68d0aaa8b2c8ecaf97b69a6b", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11", - "id": "fc05e44a41cc99fb6e68c9d8bfc8cbc97377f3327ed7a3c75ba170c9e75394d1", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json b/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json deleted file mode 100644 index 975e66c22..000000000 --- a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json +++ /dev/null @@ -1,980 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "07b9feef94432fdda97b5b5f32b4b6acfa23801e48f9fbd9997c5c3142c56474", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24", - "id": "2ae61bfeb6a9bad69fe9cb1990583dae50614da8a86cc9a720493218e11e0aa5", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "33591d733ce2e17a001b912024d5bbe2fd89b63811968c715cf1feed5e302ef1", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "3e08ab6e8312a9489e23b50c6252a0ae7db88a7fc2c9d83c34d6d8aceb634d08", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "809a1adef5afed04cc3371628a1595dd47bb1b1003a9e0cc6be72987c4034345", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json b/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json deleted file mode 100644 index 48de35e9e..000000000 --- a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json +++ /dev/null @@ -1,980 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "1ad454f157e4c16e1b79b5905e83eff1b82192d65933847f4b39548bc170b7ea", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24", - "id": "2ca6b97b24a0e595f484c9a0090c3b17b654c167be300e04d9c2cc9a44406d10", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "7e07e946fcdb14de3e3d3bc796f8f6aff17f22002129db4937e0d12767260d3d", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "ae48ab82ba202c409ec056e498d7255162ef5ab54ddb9ced3b46feb51f4c5021", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "c295b48b8aece38cfd41bceca05ef1953bf5bf0018073076809087a4580ff086", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json b/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json deleted file mode 100644 index c140503cf..000000000 --- a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json +++ /dev/null @@ -1,990 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "302b9a771b1009999d212d50adb2b938ccf41f2c26880fe17060a8922ea4836a", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24", - "id": "7cd1e51c89ae28bc9bf2c7e406b39f97a648cde765fc2a05c14697648ad27e92", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "b8986c1b09fc9896372df90e6b43a08dfb3e3a920bd002ab5ee9eb4a29f92d95", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "d467d1c664634fc17c861de567ef53f0ce8964e9b337127308dad5d3cb0bc343", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "ed4cd26212cad644e275c3784912d9fe2d0789a9cb731a1a20bfdb30554f6f3a", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json b/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json deleted file mode 100644 index 43842a92b..000000000 --- a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json +++ /dev/null @@ -1,970 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 211, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "41a60e2fb1f3a88adafd67ca77db4633849be26e1b8b9973b8bf9e8ea5a9d024", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 246, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "4876b33b2a9fb13f6def960f7f9060cbf858f117079526017b1b35a928771680", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 183, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "a053c2f439e1e4ac84469e1aab54f4403d4ab14bf81bae6e7a3d2e489b3514bd", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 285, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "cb3b2fdb9be68cc3ddd7d4eb949471b64b62cf93ba43c377682cbdca2f81321e", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 486, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24", - "id": "dc1ea18f753ecea6946e89eb6676abb3813a16bc6a407e6a54ce87beeee261af", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json b/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json deleted file mode 100644 index e1d62e684..000000000 --- a/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 212, - "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.4.25/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17", - "id": "7abecda0c73eb43dadcd93458222d0848b1dee58af66887f81b9381c90e656f6", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 142, - "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.4.25/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11", - "id": "b8173796b90a23f4587ed67d7100dfd3c890bf9f96910e177630bb8a6f1703fe", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json b/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json deleted file mode 100644 index 4039d42a7..000000000 --- a/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 127, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 159, - "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 127, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.5.16/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11", - "id": "17b0e5d0ce8741c95b5fd54f143d62588a291db7741897da6704c30d9e3abccd", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 199, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 235, - "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 199, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.5.16/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17", - "id": "f3508f86e8e1e9edd815558ff94afc9428e8c0e2363a447efb86ceeefbc70ee3", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json b/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json deleted file mode 100644 index c400e5d09..000000000 --- a/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 162, - "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.6.11/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11", - "id": "5eb57935f1e4650e5340de788d03401c5f010c2bf5f0240254d2235bbe1b970b", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 238, - "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.6.11/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17", - "id": "817a27177f073d8ab4a011817ea1e6ebb8b7cba8691c8dea621ee65a77871ee0", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json b/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json deleted file mode 100644 index 63fee8fe2..000000000 --- a/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 238, - "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.7.6/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17", - "id": "1c195c6a3ea5b7e77c12b7580544ef2320699359862c22961726f112ab27b3a5", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 162, - "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.7.6/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11", - "id": "d3d9d4cb2307781870af54ebca528052197b021adcabf4d0c3a897e96affece3", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json deleted file mode 100644 index dfdbd5f12..000000000 --- a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 88, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 214, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 73, - "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 88, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 214, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4", - "id": "5e99856e75f5f5937a5b9f8f90fc9ce01eabfcf97c0d3e2b59f5cd057add9c19", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json deleted file mode 100644 index 2056620b3..000000000 --- a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4", - "id": "f03d14053bc8c0d4a6cacad0f9915b9d1be3a711767d92e994ae01f690e2b9ca", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json deleted file mode 100644 index 65f0da15f..000000000 --- a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4", - "id": "9b10d50510f386ab6f8cbfed4486317d581fcb6795ccc773bb0e7922b4e2512f", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json deleted file mode 100644 index 60d55a8a9..000000000 --- a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call{value: msg.value}()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call{value: msg.value}()](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4", - "id": "55182dfa175ac27adc4625cf672f25b6b759d8f4645fed76e35bbeace0733169", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json b/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json deleted file mode 100644 index 1a15631fd..000000000 --- a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 78, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 395, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 73, - "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 78, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 395, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4", - "id": "b94e1c9425182d05c61d316caea5bc02b4b68478b0640db50f80f3a8af690cf8", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json b/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json deleted file mode 100644 index a24ca9ef9..000000000 --- a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4", - "id": "0a6498f517f4ce099f69fa38244cd23d58ea065fced5890d0cbbc1e5d3cc2c67", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json b/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json deleted file mode 100644 index 736dfeb3d..000000000 --- a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4", - "id": "9050ea44b0aae908f94739cc228af9e1964fe0b0305fd90797259305f9344b5e", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json b/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json deleted file mode 100644 index 8f8a6ab23..000000000 --- a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4", - "id": "74d3637eb50def7c93e85041859377832449a73e2546ab915ac91aef6d9a30e8", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json b/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json deleted file mode 100644 index 46c6b365b..000000000 --- a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 461, - "length": 70, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "t.transfer(address(0),1000000000000000000)", - "source_mapping": { - "start": 493, - "length": 31, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 461, - "length": 70, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "C.bad0() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#21)\n", - "markdown": "[C.bad0()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22) ignores return value by [t.transfer(address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L21)\n", - "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22", - "id": "80065ea26ff38c396f5e90355b471bae6064c77a22e2c248d2cb8212542fd685", - "check": "unchecked-transfer", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 1043, - "length": 90, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "t.transferFrom(address(this),address(0),1000000000000000000)", - "source_mapping": { - "start": 1076, - "length": 50, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 1043, - "length": 90, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "C.bad1() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#41)\n", - "markdown": "[C.bad1()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42) ignores return value by [t.transferFrom(address(this),address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L41)\n", - "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42", - "id": "f5cc3050f74f696eb02ce0887fca6c8b0a4a8a663974a8eddec9206ad787295d", - "check": "unchecked-transfer", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json deleted file mode 100644 index c9d7e2df8..000000000 --- a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,336 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_good", - "source_mapping": { - "start": 775, - "length": 243, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 495, - "length": 42, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 465, - "length": 74, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_good (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_good](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41", - "id": "08d3e8a72b5da6d189acb46ecd36f00787a87812727526a0cae248a2bac348fc", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 541, - "length": 232, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 495, - "length": 42, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 465, - "length": 74, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 133, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 357, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json deleted file mode 100644 index 83eed4952..000000000 --- a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,190 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 133, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 357, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json deleted file mode 100644 index ffe53cf28..000000000 --- a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 593, - "length": 344, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 539, - "length": 50, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 500, - "length": 91, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 151, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 384, - "length": 45, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json deleted file mode 100644 index 9f65c2b12..000000000 --- a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 593, - "length": 344, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 539, - "length": 50, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 500, - "length": 91, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 151, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 384, - "length": 45, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index b3927e3e6..000000000 --- a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,421 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "s.a(10)", - "source_mapping": { - "start": 671, - "length": 7, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 5, - "ending_column": 12 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 628, - "length": 55, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad2](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "1b01aa44445395d800ebe53b807c6884d1c5fc96d38f255bc402e1b339a8a6f2", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 164, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 45, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad0](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "38a85244054f0e06f1d3b476742113d0cf1cbe82b6c2a16f6abfa8cb7611aa2d", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 858, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 831, - "length": 50, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad3](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "4bfb037a7504ad1a677e70cdba68b2b4d47f485e4c0d039ac0a6364465b4e56e", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b(10)", - "source_mapping": { - "start": 472, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 196, - "length": 286, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad1 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad1](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "eca46630e741d928b03312539f0e9ddfb182cb16b0425b5ff881a7800a50511e", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index b7f62a48e..000000000 --- a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,421 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b(10)", - "source_mapping": { - "start": 472, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 196, - "length": 286, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad1 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad1](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "0a6083d96a9a819c3ddc6d0dc1440fb8e8ec096abe5a7b6bf8951a2dacc11c56", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "s.a(10)", - "source_mapping": { - "start": 671, - "length": 7, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 5, - "ending_column": 12 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 628, - "length": 55, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad2](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "0ac2c56701b85e4123747f055651dfab2a1ddb0954e9065b7f39ecf21c6810b7", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 164, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 45, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad0](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "e1e469fcf69ffbf93884287be133945396a1a363e77db02f241c90027f19bf48", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 858, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 831, - "length": 50, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad3](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "fcca4434be6b4f21d40d12aa57d4fb266d2a7ecc4ca4888cc3e6bf7509c9e8e7", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json deleted file mode 100644 index 4deee6c6e..000000000 --- a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json deleted file mode 100644 index 0a411ae9f..000000000 --- a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json deleted file mode 100644 index 2b93f5ea7..000000000 --- a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json deleted file mode 100644 index 767b4c2c5..000000000 --- a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json deleted file mode 100644 index a74793c7b..000000000 --- a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 698, - "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 878, - "length": 117, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 192, - "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 172, - "length": 332, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 359, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 172, - "length": 332, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 751, - "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 820, - "length": 52, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 58, - "length": 19, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 29, - "length": 140, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 84, - "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 29, - "length": 140, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json deleted file mode 100644 index 4499ac7ca..000000000 --- a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json deleted file mode 100644 index 2488e1869..000000000 --- a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json deleted file mode 100644 index 342ab0760..000000000 --- a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json b/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json deleted file mode 100644 index bf443a99f..000000000 --- a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st_bug", - "source_mapping": { - "start": 171, - "length": 9, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 67, - "length": 143, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 217, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().st_bug (tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized\n", - "markdown": "[Uninitialized.func().st_bug](tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10) is a storage variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10", - "id": "b8f7c2470a8a7f83fd42dca40c50cbf2070e7fa5486c674585f2b0b39d3dc429", - "check": "uninitialized-storage", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json b/tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json deleted file mode 100644 index e7fab681d..000000000 --- a/tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json +++ /dev/null @@ -1,90 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "ret", - "source_mapping": { - "start": 100, - "length": 14, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 38, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 67, - "length": 95, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 262, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "Uninitialized.bad().ret (tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#7) is a storage variable never initialized\n", - "markdown": "[Uninitialized.bad().ret](tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7) is a storage variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7", - "id": "979d28e501693ed7ece0d429e7c30266f8e9d6a2e2eedc87006c4bad63e78706", - "check": "uninitialized-storage", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 91c73b9e9..000000000 --- a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 88, - "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 208, - "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 766083309..000000000 --- a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 865ad3555..000000000 --- a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 1d82d31a4..000000000 --- a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 79bcda746..000000000 --- a/tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,145 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 124, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 225, - "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#3-14) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json b/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json deleted file mode 100644 index 35b949ccc..000000000 --- a/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 353, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.4.25/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.4.25/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "619bba0a79919e4f53e583a88cd4e32f204489c8d86e365a20bf3f9ce4c0f542", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 279, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.4.25/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.4.25/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "73c54c292f1f2fb8a8d88b230cd0bf2da3bc8fff0d758b009839ca883b36c84e", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json b/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json deleted file mode 100644 index c7ef925b2..000000000 --- a/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 279, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.5.16/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.5.16/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "190c5a143431b8a4d621e698c6dc665e87146a1cd2543177212f1114eb714c43", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 353, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.5.16/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.5.16/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "c31ab267ad74015229067bab954de4f1edb4eaa7d39df6f3f01646911acddb14", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json b/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json deleted file mode 100644 index faa1eaf78..000000000 --- a/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 296, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.6.11/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.6.11/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "4e72a6afeb16bff32ed54f32875103a79d36d8fb42eefeb6ddfdc9d2cfb9894a", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 370, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.6.11/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.6.11/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "7dda2ecde076f87319f13a922c2b0daacf6fe31578c06e28fc45383520429a6d", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json b/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json deleted file mode 100644 index b21c477bd..000000000 --- a/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 370, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.7.6/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.7.6/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "3774dfb7de028a13f2945c0e19a075ffb1fb27a7785aaaf79dff863f7f1bbec7", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 296, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.7.6/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.7.6/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "d5027a5d25ac3528c0d03d48a3bbd9ef6ea582b2a286b47e8e7f741c26c35634", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json b/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json deleted file mode 100644 index f14704ad1..000000000 --- a/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/detectors/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.4.25/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/detectors/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.4.25/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/detectors/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.4.25/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/detectors/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.4.25/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json b/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json deleted file mode 100644 index df4f5f56c..000000000 --- a/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/detectors/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.5.16/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/detectors/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.5.16/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/detectors/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.5.16/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/detectors/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.5.16/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json b/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json deleted file mode 100644 index bbbe2d199..000000000 --- a/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/detectors/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.6.11/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/detectors/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.6.11/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/detectors/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.6.11/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/detectors/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.6.11/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json b/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json deleted file mode 100644 index a6aeca672..000000000 --- a/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/detectors/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.7.6/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/detectors/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.7.6/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/detectors/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.7.6/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/detectors/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.7.6/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json b/tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json b/tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json deleted file mode 100644 index 15a0e08b5..000000000 --- a/tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13", - "id": "5556888563fa21301c242d57fbd8e08a35fc5d67171a88b9a2737c14be9c6f7f", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10", - "id": "a55229af8750117389299ed9f759d5036882a2396a52087bb2a42c5ed8abaec1", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7", - "id": "e810f17bcfdf391a48e66ef70c4aafcc205c882b28d0588b26f1d45742580df6", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18", - "id": "fe997df3fdea17b13139a239ecdcdb64a2f6482aa9dacc62f845ef30591c8e4c", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json b/tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json deleted file mode 100644 index 61143523e..000000000 --- a/tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13", - "id": "314f90a4989ea75cc274e1f5f46036968c2ecdaaf8fa84913e7db4ef1ffe5bb8", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18", - "id": "5fd3f1f78f3532107d7e111d84310f3a0fa374fa407e43951d70fd00a752f76f", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7", - "id": "a30c3d8ddb468d865fa69afe5b7b83164fc1a332933d4661765cc3781896c7cf", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10", - "id": "ccc77ba655d341c0461ca4f4040afe19c379b2333e52648b12f793aaf7f0ead8", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json b/tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json deleted file mode 100644 index 555d6b7d5..000000000 --- a/tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13", - "id": "1a8ed403cb8c6104a99c9dabdfb64e55282eaedf2c2d8b20fd3b366c49443639", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10", - "id": "5bddf45a7f968094e163217be36e0cf17b7455740755eec53a1e7b0a44fe63ac", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7", - "id": "924c227bf74e70dda261578563193b90b60b70a1ad043716e1d98cbc49b87ceb", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18", - "id": "e9b34de7b565a0e63e55b9c74eaf9a265c7f4c8ef866d7b7db17b815393f0477", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json b/tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json deleted file mode 100644 index 143d43a6f..000000000 --- a/tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10", - "id": "4e297ea309b8865f782db6a53fdaf5aaf37f768158deb69d2ec6106a8e7b8afd", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7", - "id": "ce4d740b2da0b9b71f2dd3dd1c0903124f7be34009ede12a43dc33c6f28b9d28", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13", - "id": "d4602ee9be1e60f8ae80e6d0a867b532cb2ddef0ba44b25af8808a0ac5a6b828", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18", - "id": "fec10ba084a6322d0fbb895e6c7ca6bca380b48a54d2ecae92a017b8b41242bf", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json b/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json deleted file mode 100644 index aabf64ad6..000000000 --- a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json +++ /dev/null @@ -1,1299 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i --", - "source_mapping": { - "start": 417, - "length": 3, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 29, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i --](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "24ed055a29ee9bac066b9a99a36d40f7bd77314605d8f1a6440a5576a38b24fb", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i = 10", - "source_mapping": { - "start": 402, - "length": 6, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 14, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i = 10](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "940660958df422ffbfe30b13d535439b2cb3f84146a23034087228c4e9016d75", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x += i", - "source_mapping": { - "start": 436, - "length": 6, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#15)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [x += i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L15)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "e346a217ae6931f9fa7ff70302d05db17c0422dd4272f87935b633950239b592", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 130, - "length": 10, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "y = x + 9 + z", - "source_mapping": { - "start": 69, - "length": 13, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).x (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#4)\n", - "markdown": "Variable '[C.f(uint256).x](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [y = x + 9 + z](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L4)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5", - "id": "ede1e902fdfe70c5e7cf91f33df8540f1d15952d00f70a9a5dfb9edbcbe49cb6", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i > 0", - "source_mapping": { - "start": 410, - "length": 5, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i > 0](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "ffb778e86e0b11beed38687c3abf9ffd0de948ec4ccc0109a78954741220de9e", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json b/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json deleted file mode 100644 index 13de066a6..000000000 --- a/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.4.25/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.4.25/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12", - "id": "7681f77ce859599a0a88c8ba4dc60b6d55c064eca36867236bb157cbf2b65392", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json b/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json deleted file mode 100644 index dc1469f8d..000000000 --- a/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.5.16/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.5.16/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12", - "id": "205eb5189a286fb251c8bfdf19fdd45acfab353670b5af81be434e43fbf1259f", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json b/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json deleted file mode 100644 index 11a50cee1..000000000 --- a/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.6.11/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.6.11/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12", - "id": "ad3ebdf765f3b6e552dc65d3fd2e92ec13535139316d1063cd76bb521b265bd7", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json b/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json deleted file mode 100644 index 88ab6632c..000000000 --- a/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.7.6/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.7.6/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12", - "id": "deffcf2d974f53d4993c8cb12ada6abdb84e44ceea422e2261068e4fb2e663ac", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json b/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json deleted file mode 100644 index e3ddf201a..000000000 --- a/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14", - "id": "4ac936f85dc1e903d3d6688aaea992d3a5b124bb90eb73eb372dffcc60ccd9dc", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22", - "id": "9ea8ea8faa26193b33dc2b3be5a338350aa82a076a4b5ec387ad8f5c15b7181f", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10", - "id": "b6c45323a90c31dea54db817de9a3d13e40431227ca6240465e43183004f6541", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6", - "id": "fc717c512384a74aab058df35c032bca15e276f4e03446ad7b52f33acac1a556", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json b/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json deleted file mode 100644 index caaa667a2..000000000 --- a/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22", - "id": "342f1496b7a91c084d108fd76054672be5ac3a1a5481f907b93d3c72e32f70dc", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14", - "id": "4769d2b25e78345ad05fa046a989f5f5545739c20e8c2b93c2968cdca69a5501", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6", - "id": "5bb9fd5cdaccfeb6303fb8ea676c6aed0164ba2ce3fc8b5c2778cd280afe61b0", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10", - "id": "963866d884f65c4552ae10288cc1f92de1050f5f6254d4d2df132c7fbb7ce773", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json b/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json deleted file mode 100644 index 72a930565..000000000 --- a/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22", - "id": "211bbc7b73c90c6ae03f3e73c2b306c74699381229a4af6d4687891b024f2189", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10", - "id": "4651cdacc944504d793e3c0dfa85684df0c31ccd1435fb1bdf7f952a5c743aac", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14", - "id": "95c977967e6bb17afe7c6c10389750fcd98a2f0bf7fa9beb08d3e7214e2f63d7", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6", - "id": "bfdb804ad9a58c4a694182e0f4dff561ffe37a0680f850763136ac57af57cea6", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json b/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json deleted file mode 100644 index d3b86aa49..000000000 --- a/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 228, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14", - "id": "0afae786715bc7bc677a2525aec172999533a2bc1ee62d9b974c9f13a45755c6", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6", - "id": "1699e708ab01560cde36ac92caaf0abd7c3de733431340f4719b1dfd3544a6ef", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 407, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22", - "id": "b3e0dbd29c5e74eaae470dcfe1ff523c67da580b1ae0c07559c02ee67d9d4c86", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 154, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10", - "id": "e27e978d7016cb26d0d372e84c7f4e1bbd6e45af239e195823b3b138713430a6", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json b/tests/detectors/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json deleted file mode 100644 index 1ddd745cf..000000000 --- a/tests/detectors/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json +++ /dev/null @@ -1,1070 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 20, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "state = 10", - "source_mapping": { - "start": 157, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_state", - "source_mapping": { - "start": 116, - "length": 78, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_state()" - } - } - } - }, - { - "type": "node", - "name": "state = 20", - "source_mapping": { - "start": 177, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_state", - "source_mapping": { - "start": 116, - "length": 78, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_state()" - } - } - } - } - ], - "description": "Test.state (tests/detectors/write-after-write/0.8.0/write-after-write.sol#3) is written in both\n\tstate = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#10)\n\tstate = 20 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#11)\n", - "markdown": "[Test.state](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L3) is written in both\n\t[state = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L10)\n\t[state = 20](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L11)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L3", - "id": "64790630557e580454dbeb00f1d35e07d162ed1ab46201e66fd4e686f3806402", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 351, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - }, - { - "type": "node", - "name": "a = 10", - "source_mapping": { - "start": 367, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - }, - { - "type": "node", - "name": "a = 20", - "source_mapping": { - "start": 383, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - } - ], - "description": "Test.buggy_local().a (tests/detectors/write-after-write/0.8.0/write-after-write.sol#21) is written in both\n\ta = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#22)\n\ta = 20 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#23)\n", - "markdown": "[Test.buggy_local().a](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L21) is written in both\n\t[a = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L22)\n\t[a = 20](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L23)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L21", - "id": "db1316a3aebb9fb6df78eecf60236950d2aff43986dd01ca362739b8b582e848", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 894, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 52 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - }, - { - "type": "node", - "name": "local = 10", - "source_mapping": { - "start": 914, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 53 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - }, - { - "type": "node", - "name": "local = 11", - "source_mapping": { - "start": 973, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - } - ], - "description": "Test.bugy_external_local().local (tests/detectors/write-after-write/0.8.0/write-after-write.sol#52) is written in both\n\tlocal = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#53)\n\tlocal = 11 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#56)\n", - "markdown": "[Test.bugy_external_local().local](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L52) is written in both\n\t[local = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L53)\n\t[local = 11](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L56)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L52", - "id": "e6a01bd710ad6a82ab7c53e035a1fa150b8606aa6149e4d370fadd49f5128904", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/__init__.py b/tests/e2e/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/compilation/__init__.py b/tests/e2e/compilation/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/collisions/a.sol b/tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol similarity index 100% rename from tests/collisions/a.sol rename to tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol diff --git a/tests/collisions/b.sol b/tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol similarity index 100% rename from tests/collisions/b.sol rename to tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol diff --git a/tests/test_cyclic_import/a.sol b/tests/e2e/compilation/test_data/test_cyclic_import/a.sol similarity index 100% rename from tests/test_cyclic_import/a.sol rename to tests/e2e/compilation/test_data/test_cyclic_import/a.sol diff --git a/tests/test_cyclic_import/b.sol b/tests/e2e/compilation/test_data/test_cyclic_import/b.sol similarity index 100% rename from tests/test_cyclic_import/b.sol rename to tests/e2e/compilation/test_data/test_cyclic_import/b.sol diff --git a/tests/e2e/compilation/test_data/test_node_modules/.gitignore b/tests/e2e/compilation/test_data/test_node_modules/.gitignore new file mode 100644 index 000000000..8268d6829 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/.gitignore @@ -0,0 +1,3 @@ +artifacts/ +cache/ +node_modules/ \ No newline at end of file diff --git a/tests/test_node_modules/contracts/MyCoin.sol b/tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol similarity index 100% rename from tests/test_node_modules/contracts/MyCoin.sol rename to tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol diff --git a/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js b/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js new file mode 100644 index 000000000..322099cdf --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js @@ -0,0 +1,6 @@ +module.exports = { + solidity: { + version: "0.8.1" + }, +} + diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol similarity index 100% rename from tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol rename to tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol diff --git a/tests/e2e/compilation/test_data/test_node_modules/package-lock.json b/tests/e2e/compilation/test_data/test_node_modules/package-lock.json new file mode 100644 index 000000000..a336d8b3b --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/package-lock.json @@ -0,0 +1,6206 @@ +{ + "name": "test_node_modules", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@openzeppelin/contracts": "^4.4.0", + "hardhat": "^2.13.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@nomicfoundation/ethereumjs-block": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", + "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-block/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-blockchain": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", + "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-ethash": "2.0.5", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-blockchain/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-common": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", + "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", + "dependencies": { + "@nomicfoundation/ethereumjs-util": "8.0.6", + "crc-32": "^1.2.0" + } + }, + "node_modules/@nomicfoundation/ethereumjs-ethash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", + "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-ethash/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-evm": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", + "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-evm/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-rlp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", + "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==", + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-statemanager": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", + "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1" + } + }, + "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-trie": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", + "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-trie/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", + "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", + "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-vm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", + "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-blockchain": "6.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-evm": "1.3.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-statemanager": "1.0.5", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-vm/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", + "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", + "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", + "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.4.0", + "license": "MIT" + }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/async-eventemitter": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", + "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "node_modules/@types/node": { + "version": "18.15.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.9.tgz", + "integrity": "sha512-dUxhiNzBLr6IqlZXz6e/rN2YQXlFgOei/Dxy+e3cyXTJ4txSUbGT2/fmnD6zd/75jDMeW5bDee+YXxlFKHoV0A==" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "dependencies": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "dependencies": { + "async": "^2.4.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bigint-crypto-utils": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", + "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "dependencies": { + "bigint-mod-arith": "^3.1.0" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/bigint-mod-arith": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", + "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==", + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/classic-level": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", + "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "hasInstallScript": true, + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "dependencies": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/hardhat": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", + "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/ethereumjs-block": "^4.0.0", + "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", + "@nomicfoundation/ethereumjs-common": "^3.0.0", + "@nomicfoundation/ethereumjs-evm": "^1.0.0", + "@nomicfoundation/ethereumjs-rlp": "^4.0.0", + "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", + "@nomicfoundation/ethereumjs-trie": "^5.0.0", + "@nomicfoundation/ethereumjs-tx": "^4.0.0", + "@nomicfoundation/ethereumjs-util": "^8.0.0", + "@nomicfoundation/ethereumjs-vm": "^6.0.0", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/bootstrap.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "dependencies": { + "fp-ts": "^1.0.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "dependencies": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/level" + } + }, + "node_modules/level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "dependencies": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "dependencies": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dependencies": { + "obliterator": "^2.0.0" + } + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/qs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", + "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "requires": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + } + }, + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" + }, + "@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" + }, + "@nomicfoundation/ethereumjs-block": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", + "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-blockchain": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", + "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-ethash": "2.0.5", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-common": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", + "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", + "requires": { + "@nomicfoundation/ethereumjs-util": "8.0.6", + "crc-32": "^1.2.0" + } + }, + "@nomicfoundation/ethereumjs-ethash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", + "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", + "ethereum-cryptography": "0.1.3" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-evm": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", + "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-rlp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", + "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==" + }, + "@nomicfoundation/ethereumjs-statemanager": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", + "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-trie": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", + "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", + "requires": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-tx": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", + "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-util": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", + "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", + "requires": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "ethereum-cryptography": "0.1.3" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/ethereumjs-vm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", + "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-blockchain": "6.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-evm": "1.3.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-statemanager": "1.0.5", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "dependencies": { + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "@nomicfoundation/solidity-analyzer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", + "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", + "requires": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" + } + }, + "@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", + "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", + "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "optional": true + }, + "@openzeppelin/contracts": { + "version": "4.4.0" + }, + "@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" + }, + "@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "requires": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "requires": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "requires": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" + }, + "@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "requires": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@types/async-eventemitter": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", + "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + }, + "@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "requires": { + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "@types/node": { + "version": "18.15.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.9.tgz", + "integrity": "sha512-dUxhiNzBLr6IqlZXz6e/rN2YQXlFgOei/Dxy+e3cyXTJ4txSUbGT2/fmnD6zd/75jDMeW5bDee+YXxlFKHoV0A==" + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "requires": { + "@types/node": "*" + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "requires": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + } + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "requires": { + "async": "^2.4.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bigint-crypto-utils": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", + "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "requires": { + "bigint-mod-arith": "^3.1.0" + } + }, + "bigint-mod-arith": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", + "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "classic-level": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", + "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "requires": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "hardhat": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", + "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", + "requires": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/ethereumjs-block": "^4.0.0", + "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", + "@nomicfoundation/ethereumjs-common": "^3.0.0", + "@nomicfoundation/ethereumjs-evm": "^1.0.0", + "@nomicfoundation/ethereumjs-rlp": "^4.0.0", + "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", + "@nomicfoundation/ethereumjs-trie": "^5.0.0", + "@nomicfoundation/ethereumjs-tx": "^4.0.0", + "@nomicfoundation/ethereumjs-util": "^8.0.0", + "@nomicfoundation/ethereumjs-vm": "^6.0.0", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "requires": { + "fp-ts": "^1.0.0" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "requires": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + } + }, + "level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==" + }, + "level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "requires": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "requires": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "requires": { + "obliterator": "^2.0.0" + } + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "qs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "requires": { + "bn.js": "^5.2.0" + } + }, + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "undici": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", + "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", + "requires": { + "busboy": "^1.6.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/package.json b/tests/e2e/compilation/test_data/test_node_modules/package.json new file mode 100644 index 000000000..124f77665 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "@openzeppelin/contracts": "^4.4.0", + "hardhat": "^2.13.0" + } +} diff --git a/tests/source_unit/README.md b/tests/e2e/compilation/test_data/test_source_unit/README.md similarity index 100% rename from tests/source_unit/README.md rename to tests/e2e/compilation/test_data/test_source_unit/README.md diff --git a/tests/source_unit/foundry.toml b/tests/e2e/compilation/test_data/test_source_unit/foundry.toml similarity index 100% rename from tests/source_unit/foundry.toml rename to tests/e2e/compilation/test_data/test_source_unit/foundry.toml diff --git a/tests/source_unit/script/Counter.s.sol b/tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol similarity index 100% rename from tests/source_unit/script/Counter.s.sol rename to tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol diff --git a/tests/source_unit/src/Counter.sol b/tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol similarity index 100% rename from tests/source_unit/src/Counter.sol rename to tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol diff --git a/tests/source_unit/src/Counter2.sol b/tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol similarity index 100% rename from tests/source_unit/src/Counter2.sol rename to tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol diff --git a/tests/source_unit/test/Counter.t.sol b/tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol similarity index 100% rename from tests/source_unit/test/Counter.t.sol rename to tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol diff --git a/tests/e2e/compilation/test_resolution.py b/tests/e2e/compilation/test_resolution.py new file mode 100644 index 000000000..71edaa143 --- /dev/null +++ b/tests/e2e/compilation/test_resolution.py @@ -0,0 +1,45 @@ +from pathlib import Path +import pytest + +from crytic_compile import CryticCompile +from crytic_compile.platform.solc_standard_json import SolcStandardJson + +from slither import Slither + +from tests.utils import _run_all_detectors + + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + +hardhat_available = Path(TEST_DATA_DIR, "test_node_modules/node_modules/hardhat").exists() + + +@pytest.mark.skipif(not hardhat_available, reason="requires Hardhat and project setup") +def test_node_modules() -> None: + # hardhat must have been installed in tests/test_node_modules + # For the CI its done through the github action config + + slither = Slither(Path(TEST_DATA_DIR, "test_node_modules").as_posix()) + _run_all_detectors(slither) + + +def test_contract_name_collision(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + standard_json = SolcStandardJson() + standard_json.add_source_file( + Path(TEST_DATA_DIR, "test_contract_name_collisions", "a.sol").as_posix() + ) + standard_json.add_source_file( + Path(TEST_DATA_DIR, "test_contract_name_collisions", "b.sol").as_posix() + ) + + compilation = CryticCompile(standard_json, solc=solc_path) + slither = Slither(compilation) + + _run_all_detectors(slither) + + +def test_cycle(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "test_cyclic_import", "a.sol").as_posix(), solc=solc_path) + _run_all_detectors(slither) diff --git a/tests/test_source_unit.py b/tests/e2e/compilation/test_source_unit.py similarity index 85% rename from tests/test_source_unit.py rename to tests/e2e/compilation/test_source_unit.py index 73c165016..dafd146dc 100644 --- a/tests/test_source_unit.py +++ b/tests/e2e/compilation/test_source_unit.py @@ -6,15 +6,18 @@ from slither import Slither # NB: read tests/source_unit/README.md for setup before using this test + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + foundry_available = shutil.which("forge") is not None -project_ready = Path("./tests/source_unit/lib/forge-std").exists() +project_ready = Path(TEST_DATA_DIR, "test_source_unit/lib/forge-std").exists() @pytest.mark.skipif( not foundry_available or not project_ready, reason="requires Foundry and project setup" ) def test_contract_info() -> None: - slither = Slither("./tests/source_unit") + slither = Slither(Path(TEST_DATA_DIR, "test_source_unit").as_posix()) assert len(slither.compilation_units) == 1 compilation_unit = slither.compilation_units[0] @@ -23,7 +26,7 @@ def test_contract_info() -> None: source_unit.remove_metadata() counter_sol = compilation_unit.crytic_compile.filename_lookup( - "tests/source_unit/src/Counter.sol" + Path(TEST_DATA_DIR, "test_source_unit/src/Counter.sol").as_posix() ) assert ( compilation_unit.scopes[counter_sol].bytecode_init( diff --git a/tests/config/slither.config.json b/tests/e2e/config/test_json_config/slither.config.json similarity index 100% rename from tests/config/slither.config.json rename to tests/e2e/config/test_json_config/slither.config.json diff --git a/tests/config/test.sol b/tests/e2e/config/test_json_config/test.sol similarity index 100% rename from tests/config/test.sol rename to tests/e2e/config/test_json_config/test.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock1.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock1.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock1.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock1.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock2.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock2.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock2.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock2.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock3.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock3.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock3.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock3.sol diff --git a/tests/test_path_filtering/slither.config.json b/tests/e2e/config/test_path_filtering/slither.config.json similarity index 100% rename from tests/test_path_filtering/slither.config.json rename to tests/e2e/config/test_path_filtering/slither.config.json diff --git a/tests/test_path_filtering/src/ReentrancyMock.sol b/tests/e2e/config/test_path_filtering/src/ReentrancyMock.sol similarity index 100% rename from tests/test_path_filtering/src/ReentrancyMock.sol rename to tests/e2e/config/test_path_filtering/src/ReentrancyMock.sol diff --git a/tests/test_path_filtering/test_path_filtering.sol b/tests/e2e/config/test_path_filtering/test_path_filtering.sol similarity index 100% rename from tests/test_path_filtering/test_path_filtering.sol rename to tests/e2e/config/test_path_filtering/test_path_filtering.sol diff --git a/tests/e2e/detectors/__init__.py b/tests/e2e/detectors/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..35872cfcb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt @@ -0,0 +1,18 @@ +Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug: + - b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40) + +Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug: + - this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22) + +Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug: + - event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45) + +Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug: + - b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35) + +Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug: + - this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30) + +Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug: + - event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_10_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_10_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..c63496458 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt @@ -0,0 +1,18 @@ +Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug: + - event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50) + +Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug: + - this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22) + +Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug: + - event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45) + +Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug: + - b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35) + +Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug: + - this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30) + +Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug: + - b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..671bb5a8e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..3a51fec76 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..b6fcace17 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58) + +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..20cab07cc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt new file mode 100644 index 000000000..d6cceff72 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt @@ -0,0 +1,2 @@ +T.bad(address) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..33f681067 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58) + +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..c009ae408 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..a5376e999 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..6c81a434b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54) + +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..8cf69612d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..7921c41b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54) + +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..1b16e0df6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20) + +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..61b5acab8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12) + +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..56ccf3cd3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20) + +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..3d4a4f037 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12) + +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt new file mode 100644 index 000000000..f056bea10 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt @@ -0,0 +1,12 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt new file mode 100644 index 000000000..4264c809a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt @@ -0,0 +1,12 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt new file mode 100644 index 000000000..e71930b51 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt @@ -0,0 +1,12 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt new file mode 100644 index 000000000..7c0f9ccd9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt @@ -0,0 +1,12 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt new file mode 100644 index 000000000..02c27c7b3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt @@ -0,0 +1,9 @@ +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#41) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#36) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#26) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt new file mode 100644 index 000000000..5ca8654b5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt @@ -0,0 +1,9 @@ +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#41) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#36) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#26) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..c00244213 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#7-20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..afba3895f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#26-47) + +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#18-21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..37356c77e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#7-19) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..8ddbcec93 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#18-20) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#26-46) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..43d939dcf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#5-17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..c2a6d44a1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#16-18) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#24-44) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..42e5f8eaf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#5-17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..0e20c94b8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#16-18) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#24-44) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt new file mode 100644 index 000000000..ba0febf9c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt new file mode 100644 index 000000000..dfc5260f9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt new file mode 100644 index 000000000..7dbb05343 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt new file mode 100644 index 000000000..30643f73e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt new file mode 100644 index 000000000..863dbbf31 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt new file mode 100644 index 000000000..8cacb70dd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt new file mode 100644 index 000000000..6c026c056 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt new file mode 100644 index 000000000..162f1afd2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt new file mode 100644 index 000000000..18676563f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#9)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#21)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#5)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt new file mode 100644 index 000000000..34db1a9a2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#5)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#21)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt new file mode 100644 index 000000000..4c65f2cad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#5)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#21)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt new file mode 100644 index 000000000..dc2ca5bfb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#21)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#13)" + +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#5)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..73aafb933 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..f73791b89 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..7e9969c00 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..a2ccfe269 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..81b5ee2ae --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..423335c2e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..48f3f294c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..24e475cc0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt new file mode 100644 index 000000000..7c94735da --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt @@ -0,0 +1,26 @@ +Reserved.mutable (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol" + +ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol" + +FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol" + +BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol" + +FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol" + +BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol" + +BaseContractrevert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol" + +ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol" + +ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol" + +FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol" + +FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt new file mode 100644 index 000000000..f576e19e0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt @@ -0,0 +1,24 @@ +ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol" + +FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol" + +BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol" + +FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol" + +BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol" + +BaseContractrevert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol" + +ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol" + +ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol" + +FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol" + +FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt new file mode 100644 index 000000000..d99f65c7d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt @@ -0,0 +1,2 @@ +Constant.test_assembly_bug() (tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_5_16_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_5_16_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_6_11_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_6_11_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_7_6_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_7_6_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt new file mode 100644 index 000000000..67c19d0ab --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt @@ -0,0 +1,6 @@ +Constant.test_constant_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables: + - Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3) + +Constant.test_view_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables: + - Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_5_16_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_5_16_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_6_11_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_6_11_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_7_6_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_7_6_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt new file mode 100644 index 000000000..0d0deaae0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.4.24', '^0.4.25'] + - ^0.4.24 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#1) + - ^0.4.25 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt new file mode 100644 index 000000000..a619f1ed0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.5.15', '^0.5.16'] + - ^0.5.15 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#1) + - ^0.5.16 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt new file mode 100644 index 000000000..af468f3ba --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.6.10', '^0.6.11'] + - ^0.6.10 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#1) + - ^0.6.11 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt new file mode 100644 index 000000000..83b79b494 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.7.5', '^0.7.6'] + - ^0.7.5 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#1) + - ^0.7.6 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..9a08cc149 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..461b4e1ad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..7be83ec8c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..bc58c9d2e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..7b114acb7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..6d2fd27e1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..d7ca011c8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#22) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..da2804728 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt new file mode 100644 index 000000000..0f5b8fb98 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt @@ -0,0 +1,12 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#14) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#26) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#7) should be constant + +MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#42) should be constant + +MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#43) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#10) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt new file mode 100644 index 000000000..89560ac47 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +MyConc.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#44) should be constant + +A.text2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#14) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#26) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#7) should be constant + +MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#42) should be constant + +MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#43) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#10) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt new file mode 100644 index 000000000..68bfc2ddc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt new file mode 100644 index 000000000..581ee43f7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt new file mode 100644 index 000000000..c18aa2fe8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_4_25_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_4_25_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_5_16_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_5_16_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..4c46222f9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt @@ -0,0 +1,10 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#47) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..36409f9b9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt @@ -0,0 +1,10 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#47) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..9c8fc9f63 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt @@ -0,0 +1,8 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt new file mode 100644 index 000000000..f013da4cd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt @@ -0,0 +1,2 @@ +HighCyclomaticComplexity.highCC() (tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#17-31) has a high cyclomatic complexity (12). + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_LowCyclomaticComplexity_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_LowCyclomaticComplexity_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt new file mode 100644 index 000000000..c893114cf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt @@ -0,0 +1,6 @@ +Test4.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#26-28) is never used and should be removed + +Test.unused() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#2-4) is never used and should be removed + +Test2.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#10-12) is never used and should be removed + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..a64167702 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#28) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..e6ea14e79 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#28) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..ce50766fe --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#28) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..9d4decf4d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#28) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#7) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..d3d9f047c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#28) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt new file mode 100644 index 000000000..9a10c2971 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt @@ -0,0 +1,6 @@ +Deprecated standard detected THROW (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#7): + - Usage of "throw" should be replaced with "revert()" + +Deprecated standard detected msg.gas == msg.value (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#5): + - Usage of "msg.gas" should be replaced with "gasleft()" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..95537a3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..0ae4d354a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..54b35708c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..37dc22862 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..e800ed951 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..aa20b6983 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..8443c4fb7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..deab568b6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..df4ea295c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..0471fd697 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..d5d492fe7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..ad02ccd6f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..74ad8a93d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..6eab54252 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..842252b1b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..2b8cac108 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..665130448 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..4ff75df8e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..6f03f9d19 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt new file mode 100644 index 000000000..71bdafede --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt @@ -0,0 +1,9 @@ +bad2(uint256[]) should be declared external: + - Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#8) + +bad(bytes) should be declared external: + - Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#7) + +bad3(string) should be declared external: + - Test.bad3(string) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt new file mode 100644 index 000000000..a0144a084 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt @@ -0,0 +1,20 @@ +bad4(string) should be declared external: + - Test.bad4(string) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#18) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad3(Test.testStruct) should be declared external: + - Test.bad3(Test.testStruct) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#17) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad2(uint256[]) should be declared external: + - Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#16) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad(bytes) should be declared external: + - Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#15) +Moreover, the following function parameters should change its data location: +x location should be calldata + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_3_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_3_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..d289faead --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..b28972700 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..234059c8d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..81a654d43 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..305758478 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..19f532fd7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..cfd549baa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..f1d77d1bd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..b3de59687 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..584c40378 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..5373d72cc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..415adcb7c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt new file mode 100644 index 000000000..a1a384559 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.4.25 is not recommended for deployment + +Pragma version0.4.25 (tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt new file mode 100644 index 000000000..c9f67a00d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt @@ -0,0 +1,3 @@ +Pragma version0.5.14 (tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) + +solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt new file mode 100644 index 000000000..eaf6d3bef --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version^0.5.15 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#1) allows old versions + +solc-0.5.16 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt new file mode 100644 index 000000000..4fbde7008 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.5.0<0.6.0 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#1) allows old versions + +solc-0.5.16 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt new file mode 100644 index 000000000..3348b38bf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.5.16 is not recommended for deployment + +Pragma version0.5.16 (tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt new file mode 100644 index 000000000..b019ea235 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.6.10 is not recommended for deployment + +Pragma version0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt new file mode 100644 index 000000000..d9882ee92 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.6.11 is not recommended for deployment + +Pragma version^0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt new file mode 100644 index 000000000..9e0b51f1c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.6.0<0.7.0 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#1) allows old versions + +solc-0.6.11 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt new file mode 100644 index 000000000..5dfddac9e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.6.11 (tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#1) allows old versions + +solc-0.6.11 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt new file mode 100644 index 000000000..954505f8c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#1) allows old versions + +solc-0.7.4 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt new file mode 100644 index 000000000..157db71ce --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version^0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#1) allows old versions + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt new file mode 100644 index 000000000..53628ace1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.7.0<=0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#1) is too complex + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt new file mode 100644 index 000000000..6d4297f2b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#1) allows old versions + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..49a70d163 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#48) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#38) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#26) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#124) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#54) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#22) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#128) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#33) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#61) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#68) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#132) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#43) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..56f7c2ef9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#48) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#33) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#38) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#68) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#26) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#61) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#54) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#128) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#43) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#22) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#124) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#132) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..11bb0e3fc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#61) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#22) + +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#48) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#68) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#124) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#43) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#26) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#128) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#54) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#38) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#132) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#33) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..506857199 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#26) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#68) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#22) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#38) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#124) + +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#48) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#54) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#33) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#132) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#61) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#43) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#128) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt new file mode 100644 index 000000000..bd44c2fa3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt @@ -0,0 +1,8 @@ +C.slitherConstructorVariables() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) + +C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#8) + +C.c (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1) + +C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..913acf4ea --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt @@ -0,0 +1,20 @@ +FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable) + - ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable) + - BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable) + +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..7fcbe83d2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt @@ -0,0 +1,23 @@ +FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable) + - ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable) + - BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable) + +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..b4de3265f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt @@ -0,0 +1,21 @@ +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..43ecfab68 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt @@ -0,0 +1,21 @@ +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt new file mode 100644 index 000000000..edca6eb2e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#26) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt new file mode 100644 index 000000000..d1ff3314b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#26) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt new file mode 100644 index 000000000..212015c29 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#26) has payable functions: + - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt new file mode 100644 index 000000000..8b6ddfa59 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#26) has payable functions: + - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt new file mode 100644 index 000000000..e5e424bb3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt new file mode 100644 index 000000000..87ad6230d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt new file mode 100644 index 000000000..0e0aa3a06 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt new file mode 100644 index 000000000..e0894ae32 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#5-7): + - _receiver.call{gas: 7777,value: msg.value}() (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..902f96668 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#10) + +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#30) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..fec236e1c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#10) + +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#31) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..7f0372c36 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#31) + +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..f519a046f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#31) + +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..ddefb04a7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#25) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#16) + +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..db98d2ad7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#16) + +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#25) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..afd318d25 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#25) + +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..d77f25818 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#16) + +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#25) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..8963a7674 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..2e87b44e1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..5bb5c5f32 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#23) + +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#31) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..1fb9f8a4b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..d57ab2986 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..60f1bc78b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..8a05975fd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..81f48f4dc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..2ecb471e9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24) + +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..0f6616b71 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..719ff30c3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..225c1be4d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call{value: msg.value}() (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29) + +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt new file mode 100644 index 000000000..365f1f397 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt new file mode 100644 index 000000000..5f5a1b5f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt new file mode 100644 index 000000000..b4d5bf3e4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt new file mode 100644 index 000000000..bba830c3b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..b694677bd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#24) + +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..66cd57b2b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#24) + +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#18) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..4ae4ca2a8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#18) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#24) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..0ec9098f7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#18) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#24) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..6f36e2a63 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#18) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#24) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..534098851 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#35) + +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: a.transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations_base[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..ffa813d87 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#46) + +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#35) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..4601b6909 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#11) + +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#35) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..7d67fde52 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#26) + +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#11) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#35) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt new file mode 100644 index 000000000..7d84e8e24 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt @@ -0,0 +1,4 @@ +A (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#1-14) contains multiple constructors in the same contract: + - A.constructor() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#3-5) + - A.A() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#6-8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt new file mode 100644 index 000000000..0419c1b9a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase + +Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt new file mode 100644 index 000000000..c5fd1f30f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase + +Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt new file mode 100644 index 000000000..1bbe28843 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase + +Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt new file mode 100644 index 000000000..5f560ba51 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase + +Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt new file mode 100644 index 000000000..264e41f14 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt @@ -0,0 +1,10 @@ +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#15) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).x (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt new file mode 100644 index 000000000..2086c6e7f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt @@ -0,0 +1,4 @@ +Internal.buggy() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#47-49) should have Internal.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#42-45) to protect Internal.owner (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#38) + +ReentrancyAndWrite.set_not_protected() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#31-33) should have ReentrancyAndWrite.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#11-14) to protect ReentrancyAndWrite.external_contract (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt new file mode 100644 index 000000000..74e376f8f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt @@ -0,0 +1,2 @@ +Bug.testMapping (tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt new file mode 100644 index 000000000..f204ff512 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt new file mode 100644 index 000000000..f70402cb9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt new file mode 100644 index 000000000..2264d01e5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt new file mode 100644 index 000000000..915421b3f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..fdc46f6af --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#23-27): + External calls: + - success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#24) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#26) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#16-21): + External calls: + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#20) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#46-51): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#47) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#49) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#40-44): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#41) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#42) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#29-38): + External calls: + - success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#30) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#33) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#53-57): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#54) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#55) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..744eccc92 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#21) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#55) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#31) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..400c1c00d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#31) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#34) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#55) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..5339f8c4a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#31) + - address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#34) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#55) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt new file mode 100644 index 000000000..2d6c2b820 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt @@ -0,0 +1,72 @@ +Reentrancy in TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332): + External calls: + - extraBalance.balance >= extraBalance.accumulatedInput() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#321) + - extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#322) + - msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325) + External calls sending eth: + - msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325) + State variables written after the call(s): + - weiGiven[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#329) + TokenCreationInterface.weiGiven (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#251) can be used in cross function reentrancies: + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332) + +Reentrancy in DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937): + External calls: + - ! isRecipientAllowed(p.recipient) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#881) + - allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1159-1163) + - ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915) + External calls sending eth: + - ! p.creator.send(p.proposalDeposit) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#904) + - ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915) + State variables written after the call(s): + - p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#918) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850) + - closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933) + - p.open = false (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#944) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850) + - rewardToken[address(this)] += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#928) + DAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410) can be used in cross function reentrancies: + - DAO.changeProposalDeposit(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1139-1146) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1174-1178) + - DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1022-1034) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057) + - DAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933) + - sumOfProposalDeposits -= p.proposalDeposit (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#943) + DAOInterface.sumOfProposalDeposits (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#436) can be used in cross function reentrancies: + - DAO.actualBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1169-1171) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - totalRewardToken += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#929) + DAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412) can be used in cross function reentrancies: + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.isRecipientAllowed(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1158-1167) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057) + - DAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..4562e1bd7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt new file mode 100644 index 000000000..81143018c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt @@ -0,0 +1,32 @@ +Reentrancy in Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80): + External calls: + - msg.sender.call.value(amount / 2)() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#77) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#78) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60) + - Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72) + - Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31): + External calls: + - ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#27) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#30) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60) + - Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72) + - Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..eea2c4711 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt new file mode 100644 index 000000000..d77726404 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..c4cda5f34 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt new file mode 100644 index 000000000..a3e4ec83d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..2be2ab3bb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt new file mode 100644 index 000000000..04098bd3f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt new file mode 100644 index 000000000..4485754d3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt @@ -0,0 +1,9 @@ +Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#10) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#11) + TestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#6) can be used in cross function reentrancies: + - TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12) + - TestWithBug.withdrawFiltered(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#15-19) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt new file mode 100644 index 000000000..ab510d0e5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt @@ -0,0 +1,32 @@ +Reentrancy in TestWithBugInternal.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#62-66): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#64) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#65) + TestWithBugInternal.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#52) can be used in cross function reentrancies: + - TestWithBugInternal.withdraw_all_internal() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#72-76) + +Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#13-17): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#15) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#16) + TestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#7) can be used in cross function reentrancies: + - TestWithBug.withdraw_all() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#19-23) + +Reentrancy in TestBugWithPublicVariable.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#122-126): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#124) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#125) + TestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) can be used in cross function reentrancies: + - TestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) + +Reentrancy in TestWithBugNonReentrantRead.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#138-142): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#140) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#141) + TestWithBugNonReentrantRead.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#132) can be used in cross function reentrancies: + - TestWithBugNonReentrantRead.read() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#146-149) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..ffee9b383 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..430371f7d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..ad082c3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt new file mode 100644 index 000000000..1babf5659 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt @@ -0,0 +1,171 @@ +Reentrancy in DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057): + External calls: + - reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046) + - ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1048) + - ! DAOrewardAccount.payOut(dao,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1052) + State variables written after the call(s): + - DAOpaidOut[msg.sender] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1055) + DAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423) can be used in cross function reentrancies: + - DAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423) + - DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1022-1034) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + +Reentrancy in DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074): + External calls: + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - paidOut[_account] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1072) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020): + External calls: + - p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974) + - daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196) + - withdrawRewardFor(msg.sender) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1015) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - balances[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1017) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - paidOut[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1018) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + - totalSupply -= balances[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1016) + TokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45) can be used in cross function reentrancies: + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1174-1178) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - TokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020): + External calls: + - p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974) + - daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196) + State variables written after the call(s): + - p.splitData[0].splitBalance = actualBalance() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#981) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.splitData[0].rewardToken = rewardToken[address(this)] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#982) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.splitData[0].totalSupply = totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#983) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#984) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + +Reentrancy in DAO.transferFromWithoutReward(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121): + External calls: + - ! withdrawRewardFor(_from) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1118) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120) + - balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#120) + - balances[_from] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#121) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120) + - paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133) + - paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095): + External calls: + - ! getMyReward() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1092) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094) + - balances[msg.sender] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#101) + - balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#102) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094) + - paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133) + - paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..fb9615c09 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22): + External calls: + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29): + External calls: + - success = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#26) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28) + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..d1532be91 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..e4edf64f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#27) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..ad043d2f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#31) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_8_2_comment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_8_2_comment_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt new file mode 100644 index 000000000..d3e7d064c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt @@ -0,0 +1,24 @@ +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt new file mode 100644 index 000000000..66c80dbbb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt @@ -0,0 +1,35 @@ +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..ac0099d48 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..3c5060b6c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..7e181d79d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt new file mode 100644 index 000000000..6b4a48b5b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt @@ -0,0 +1,9 @@ +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336: + - b' /*ok \xe2\x80\xaeaaa\xe2\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348: + - b'\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342: + - b'\x80\xaeaaa\xe2\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt new file mode 100644 index 000000000..3e14058b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt new file mode 100644 index 000000000..f3f6523ac --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt new file mode 100644 index 000000000..de8db2897 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#7) shadows: + - BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_4_25_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_4_25_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_5_16_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_5_16_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..354d90a13 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt @@ -0,0 +1,2 @@ +C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#5) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..08fdbe1c6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt @@ -0,0 +1,2 @@ +C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#5) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt new file mode 100644 index 000000000..7f6fa4da1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt new file mode 100644 index 000000000..70b5c329b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt new file mode 100644 index 000000000..efb92b5aa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt new file mode 100644 index 000000000..67d482328 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..45b420ffe --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..380a9d7bc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_6_11_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_6_11_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt new file mode 100644 index 000000000..3c007c160 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#8) shadows: + - BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_6_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_6_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_10_storage_signed_integer_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_10_storage_signed_integer_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_16_storage_signed_integer_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_16_storage_signed_integer_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt new file mode 100644 index 000000000..c66c69533 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt new file mode 100644 index 000000000..85f559ea2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt new file mode 100644 index 000000000..81e1bd10f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt new file mode 100644 index 000000000..4a784217d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt new file mode 100644 index 000000000..af0a71a09 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#10) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt new file mode 100644 index 000000000..0b69aaf67 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#10) + +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#5) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt new file mode 100644 index 000000000..0ac45cfcd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#10) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt new file mode 100644 index 000000000..b2a7df3bc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#14) + +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt new file mode 100644 index 000000000..8208f1f83 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#13) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#10) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt new file mode 100644 index 000000000..a1b31e430 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#11) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#10) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#13) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt new file mode 100644 index 000000000..99b094b70 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#11) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#13) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt new file mode 100644 index 000000000..7131d5a36 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#11) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#10) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#13) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt new file mode 100644 index 000000000..aa6d40e48 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt new file mode 100644 index 000000000..eb49cde78 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt new file mode 100644 index 000000000..cc0ce1271 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt new file mode 100644 index 000000000..ea23b4075 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#14) + +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..c9e83e76c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..3fbaa967d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..ea4f90e52 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..8fc370f03 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..a5f99697d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..7754728fa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..940ba0675 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..d0b8e63c7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt new file mode 100644 index 000000000..a295ad637 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt new file mode 100644 index 000000000..73f8f1a39 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt new file mode 100644 index 000000000..babda5b66 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt new file mode 100644 index 000000000..c06eae1e4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt new file mode 100644 index 000000000..2594e8eab --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt @@ -0,0 +1,4 @@ +C.bad0() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#21) + +C.bad1() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#41) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt new file mode 100644 index 000000000..201026ec4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt @@ -0,0 +1,13 @@ +DerivedContract_good (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24) + +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt new file mode 100644 index 000000000..3ddb52a8f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt @@ -0,0 +1,7 @@ +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt new file mode 100644 index 000000000..5c1837773 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt @@ -0,0 +1,10 @@ +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt new file mode 100644 index 000000000..716ddd54e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt @@ -0,0 +1,10 @@ +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..a571ef77a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..09171d188 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..c0cbe9270 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..532a8b6cd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..3b51472a6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt @@ -0,0 +1,12 @@ +Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) + s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor + +Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor + +Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor + +Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) + b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_16_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_16_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..db218266d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt @@ -0,0 +1,12 @@ +Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor + +Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) + b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor + +Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor + +Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) + s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..1aac68703 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..53195cb87 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..8e5dc65e8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..495859ec1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt new file mode 100644 index 000000000..f1af6d3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt new file mode 100644 index 000000000..fc3352132 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt new file mode 100644 index 000000000..486c71220 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt new file mode 100644 index 000000000..55501d5a2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt new file mode 100644 index 000000000..c6bbddd46 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().st_bug (tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt new file mode 100644 index 000000000..23cce5fc5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.bad().ret (tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#7) is a storage variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt new file mode 100644 index 000000000..996998ae8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt new file mode 100644 index 000000000..ca6d57d00 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt new file mode 100644 index 000000000..5620196b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt new file mode 100644 index 000000000..59b0795ad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt new file mode 100644 index 000000000..7255d7d0d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#3-14) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt new file mode 100644 index 000000000..ec28fa9e5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt @@ -0,0 +1,4 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt new file mode 100644 index 000000000..0cf04d283 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt @@ -0,0 +1,4 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt new file mode 100644 index 000000000..be0a8c687 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt @@ -0,0 +1,4 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#22) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt new file mode 100644 index 000000000..ec74a9458 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt @@ -0,0 +1,4 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#22) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt new file mode 100644 index 000000000..64308a427 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt new file mode 100644 index 000000000..ad3721512 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt new file mode 100644 index 000000000..3c9a9a7ff --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt new file mode 100644 index 000000000..39c7ed13e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_4_25_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_4_25_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..bd4950ea2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..b6f3c92a7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..d92862289 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..1e2e0ca57 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt new file mode 100644 index 000000000..8dddd403f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt new file mode 100644 index 000000000..b55d45867 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt new file mode 100644 index 000000000..48b9a8f2f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt new file mode 100644 index 000000000..d585b4465 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt new file mode 100644 index 000000000..847ab5c14 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt @@ -0,0 +1,12 @@ +Test.state (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#3) is written in both + state = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#10) + state = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#11) + +Test.bugy_external_local().local (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#52) is written in both + local = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#53) + local = 11 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#56) + +Test.buggy_local().a (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#21) is written in both + a = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#22) + a = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#23) + diff --git a/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip new file mode 100644 index 000000000..4aecf51fc Binary files /dev/null and b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip differ diff --git a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip new file mode 100644 index 000000000..8feb7fd31 Binary files /dev/null and b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip differ diff --git a/tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip new file mode 100644 index 000000000..0157acf06 Binary files /dev/null and b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip differ diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip new file mode 100644 index 000000000..d8c78a1fc Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip differ diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol-0.5.16.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol-0.5.16.zip new file mode 100644 index 000000000..dcd4036d9 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol-0.5.16.zip differ diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol-0.6.11.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol-0.6.11.zip new file mode 100644 index 000000000..b6f31977a Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol-0.6.11.zip differ diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol-0.7.6.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol-0.7.6.zip new file mode 100644 index 000000000..81c100fc8 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol-0.7.6.zip differ diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol-0.8.0.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol-0.8.0.zip new file mode 100644 index 000000000..cf7b5433a Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol-0.8.0.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol-0.4.25.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol-0.4.25.zip new file mode 100644 index 000000000..2a0aa8477 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol-0.4.25.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol-0.5.16.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol-0.5.16.zip new file mode 100644 index 000000000..f04c4014f Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol-0.5.16.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol-0.6.11.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol-0.6.11.zip new file mode 100644 index 000000000..95698782c Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol-0.6.11.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol-0.7.6.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol-0.7.6.zip new file mode 100644 index 000000000..1a00e9877 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol-0.7.6.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol-0.8.0.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol-0.8.0.zip new file mode 100644 index 000000000..65df229a5 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol-0.8.0.zip differ diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol-0.8.0.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol-0.8.0.zip new file mode 100644 index 000000000..3fd00a42d Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol-0.8.0.zip differ diff --git a/tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol-0.4.25.zip b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol-0.4.25.zip new file mode 100644 index 000000000..9b1a8a923 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol-0.4.25.zip differ diff --git a/tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol-0.5.16.zip b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol-0.5.16.zip new file mode 100644 index 000000000..a8c6e3dcd Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol-0.5.16.zip differ diff --git a/tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol-0.6.11.zip b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol-0.6.11.zip new file mode 100644 index 000000000..ebbb8c346 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol-0.6.11.zip differ diff --git a/tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol-0.7.6.zip b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol-0.7.6.zip new file mode 100644 index 000000000..3bd2416f5 Binary files /dev/null and b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol-0.7.6.zip differ diff --git a/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol similarity index 100% rename from tests/detectors/array-by-reference/0.4.25/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip new file mode 100644 index 000000000..d9daf8f4d Binary files /dev/null and b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip differ diff --git a/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol similarity index 100% rename from tests/detectors/array-by-reference/0.5.16/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip new file mode 100644 index 000000000..73286c85a Binary files /dev/null and b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip differ diff --git a/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol similarity index 100% rename from tests/detectors/array-by-reference/0.6.11/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip new file mode 100644 index 000000000..8a48717bc Binary files /dev/null and b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip differ diff --git a/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol similarity index 100% rename from tests/detectors/array-by-reference/0.7.6/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip new file mode 100644 index 000000000..776064577 Binary files /dev/null and b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip differ diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.4.25/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol-0.4.25.zip b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol-0.4.25.zip new file mode 100644 index 000000000..1ca2f536f Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol-0.4.25.zip differ diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.4.25/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol-0.4.25.zip b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol-0.4.25.zip new file mode 100644 index 000000000..fcf65250a Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol-0.4.25.zip differ diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.5.16/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol-0.5.16.zip b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol-0.5.16.zip new file mode 100644 index 000000000..7799cd966 Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol-0.5.16.zip differ diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.5.16/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol-0.5.16.zip b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol-0.5.16.zip new file mode 100644 index 000000000..76cfefae5 Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol-0.5.16.zip differ diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.6.11/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol-0.6.11.zip b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol-0.6.11.zip new file mode 100644 index 000000000..2fbf09a8b Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol-0.6.11.zip differ diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.6.11/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol-0.6.11.zip b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol-0.6.11.zip new file mode 100644 index 000000000..527bedbb3 Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol-0.6.11.zip differ diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.7.6/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol-0.7.6.zip b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol-0.7.6.zip new file mode 100644 index 000000000..5617ebecf Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol-0.7.6.zip differ diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.7.6/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol diff --git a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol-0.7.6.zip b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol-0.7.6.zip new file mode 100644 index 000000000..f85360797 Binary files /dev/null and b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol-0.7.6.zip differ diff --git a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.4.25/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol-0.4.25.zip b/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol-0.4.25.zip new file mode 100644 index 000000000..c81926ed7 Binary files /dev/null and b/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol-0.4.25.zip differ diff --git a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.5.16/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol-0.5.16.zip b/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol-0.5.16.zip new file mode 100644 index 000000000..eebc9fceb Binary files /dev/null and b/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol-0.5.16.zip differ diff --git a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.6.11/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol-0.6.11.zip b/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol-0.6.11.zip new file mode 100644 index 000000000..4a7b6b658 Binary files /dev/null and b/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol-0.6.11.zip differ diff --git a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.7.6/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol-0.7.6.zip b/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol-0.7.6.zip new file mode 100644 index 000000000..bbe514e67 Binary files /dev/null and b/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol-0.7.6.zip differ diff --git a/tests/detectors/backdoor/0.4.25/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.4.25/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol diff --git a/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol-0.4.25.zip b/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol-0.4.25.zip new file mode 100644 index 000000000..42c4de2b4 Binary files /dev/null and b/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol-0.4.25.zip differ diff --git a/tests/detectors/backdoor/0.5.16/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.5.16/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol diff --git a/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol-0.5.16.zip b/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol-0.5.16.zip new file mode 100644 index 000000000..7d6d12952 Binary files /dev/null and b/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol-0.5.16.zip differ diff --git a/tests/detectors/backdoor/0.6.11/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.6.11/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol diff --git a/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol-0.6.11.zip b/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol-0.6.11.zip new file mode 100644 index 000000000..468e4d6b1 Binary files /dev/null and b/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol-0.6.11.zip differ diff --git a/tests/detectors/backdoor/0.7.6/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.7.6/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol diff --git a/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol-0.7.6.zip b/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol-0.7.6.zip new file mode 100644 index 000000000..1dd6760a3 Binary files /dev/null and b/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol-0.7.6.zip differ diff --git a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol-0.4.25.zip b/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol-0.4.25.zip new file mode 100644 index 000000000..5a79c006c Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol-0.4.25.zip differ diff --git a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol-0.5.16.zip b/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol-0.5.16.zip new file mode 100644 index 000000000..8a8fb93d4 Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol-0.5.16.zip differ diff --git a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol-0.6.11.zip b/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol-0.6.11.zip new file mode 100644 index 000000000..246323f97 Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol-0.6.11.zip differ diff --git a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol-0.7.6.zip b/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol-0.7.6.zip new file mode 100644 index 000000000..bab8fb211 Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol-0.7.6.zip differ diff --git a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol-0.4.25.zip b/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol-0.4.25.zip new file mode 100644 index 000000000..23dc61ef3 Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol-0.4.25.zip differ diff --git a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol-0.5.16.zip b/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol-0.5.16.zip new file mode 100644 index 000000000..e3457499f Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol-0.5.16.zip differ diff --git a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol-0.6.11.zip b/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol-0.6.11.zip new file mode 100644 index 000000000..b30122a39 Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol-0.6.11.zip differ diff --git a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol-0.7.6.zip b/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol-0.7.6.zip new file mode 100644 index 000000000..1855f798f Binary files /dev/null and b/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol-0.7.6.zip differ diff --git a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol diff --git a/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol-0.4.25.zip b/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol-0.4.25.zip new file mode 100644 index 000000000..17c4a429c Binary files /dev/null and b/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol-0.4.25.zip differ diff --git a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol diff --git a/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol-0.5.16.zip b/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol-0.5.16.zip new file mode 100644 index 000000000..e4d195427 Binary files /dev/null and b/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol-0.5.16.zip differ diff --git a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol diff --git a/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol-0.6.11.zip b/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol-0.6.11.zip new file mode 100644 index 000000000..771d52990 Binary files /dev/null and b/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol-0.6.11.zip differ diff --git a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol diff --git a/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol-0.7.6.zip b/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol-0.7.6.zip new file mode 100644 index 000000000..90503a49a Binary files /dev/null and b/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol-0.7.6.zip differ diff --git a/tests/detectors/constable-states/0.4.25/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.4.25/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol diff --git a/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol-0.4.25.zip b/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol-0.4.25.zip new file mode 100644 index 000000000..51847abdc Binary files /dev/null and b/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol-0.4.25.zip differ diff --git a/tests/detectors/constable-states/0.5.16/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.5.16/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol diff --git a/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol-0.5.16.zip b/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol-0.5.16.zip new file mode 100644 index 000000000..42c7dbac6 Binary files /dev/null and b/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol-0.5.16.zip differ diff --git a/tests/detectors/constable-states/0.6.11/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.6.11/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol diff --git a/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol-0.6.11.zip b/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol-0.6.11.zip new file mode 100644 index 000000000..f172e879b Binary files /dev/null and b/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol-0.6.11.zip differ diff --git a/tests/detectors/constable-states/0.7.6/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.7.6/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol diff --git a/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol-0.7.6.zip b/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol-0.7.6.zip new file mode 100644 index 000000000..845f63966 Binary files /dev/null and b/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol-0.7.6.zip differ diff --git a/tests/detectors/constable-states/0.8.0/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.8.0/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol diff --git a/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol-0.8.0.zip b/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol-0.8.0.zip new file mode 100644 index 000000000..d04c3f8e7 Binary files /dev/null and b/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol-0.8.0.zip differ diff --git a/tests/detectors/constant-function-asm/0.4.25/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.4.25/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol-0.4.25.zip b/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol-0.4.25.zip new file mode 100644 index 000000000..c1580d563 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol-0.4.25.zip differ diff --git a/tests/detectors/constant-function-asm/0.5.16/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.5.16/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol-0.5.16.zip b/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol-0.5.16.zip new file mode 100644 index 000000000..e92c8822a Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol-0.5.16.zip differ diff --git a/tests/detectors/constant-function-asm/0.6.11/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.6.11/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol-0.6.11.zip b/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol-0.6.11.zip new file mode 100644 index 000000000..045d73f16 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol-0.6.11.zip differ diff --git a/tests/detectors/constant-function-asm/0.7.6/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.7.6/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol-0.7.6.zip b/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol-0.7.6.zip new file mode 100644 index 000000000..d460a44b1 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol-0.7.6.zip differ diff --git a/tests/detectors/constant-function-state/0.4.25/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.4.25/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol-0.4.25.zip b/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol-0.4.25.zip new file mode 100644 index 000000000..c7bbab578 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol-0.4.25.zip differ diff --git a/tests/detectors/constant-function-state/0.5.16/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.5.16/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol-0.5.16.zip b/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol-0.5.16.zip new file mode 100644 index 000000000..8ca12f482 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol-0.5.16.zip differ diff --git a/tests/detectors/constant-function-state/0.6.11/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.6.11/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol-0.6.11.zip b/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol-0.6.11.zip new file mode 100644 index 000000000..e00a00937 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol-0.6.11.zip differ diff --git a/tests/detectors/constant-function-state/0.7.6/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.7.6/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol-0.7.6.zip b/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol-0.7.6.zip new file mode 100644 index 000000000..7631584f2 Binary files /dev/null and b/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol-0.7.6.zip differ diff --git a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol b/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol similarity index 100% rename from tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol rename to tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol diff --git a/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol-0.4.25.zip b/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol-0.4.25.zip new file mode 100644 index 000000000..21f2cc487 Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol-0.4.25.zip differ diff --git a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol b/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol similarity index 100% rename from tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol rename to tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol diff --git a/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol-0.5.16.zip b/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol-0.5.16.zip new file mode 100644 index 000000000..75e78ba5c Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol-0.5.16.zip differ diff --git a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol-0.4.25.zip b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol-0.4.25.zip new file mode 100644 index 000000000..3cd216df7 Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol-0.4.25.zip differ diff --git a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol-0.5.16.zip b/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol-0.5.16.zip new file mode 100644 index 000000000..099cbd44b Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol-0.5.16.zip differ diff --git a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol-0.6.11.zip b/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol-0.6.11.zip new file mode 100644 index 000000000..3f57c57d7 Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol-0.6.11.zip differ diff --git a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol-0.7.6.zip b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol-0.7.6.zip new file mode 100644 index 000000000..34bd634bf Binary files /dev/null and b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol-0.7.6.zip differ diff --git a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol diff --git a/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol-0.4.25.zip b/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol-0.4.25.zip new file mode 100644 index 000000000..f884986f0 Binary files /dev/null and b/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol-0.4.25.zip differ diff --git a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol diff --git a/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol-0.5.16.zip b/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol-0.5.16.zip new file mode 100644 index 000000000..a40bb6e14 Binary files /dev/null and b/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol-0.5.16.zip differ diff --git a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol diff --git a/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol-0.6.11.zip b/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol-0.6.11.zip new file mode 100644 index 000000000..6cce03911 Binary files /dev/null and b/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol-0.6.11.zip differ diff --git a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol diff --git a/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol-0.7.6.zip b/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol-0.7.6.zip new file mode 100644 index 000000000..a2b2945bb Binary files /dev/null and b/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol-0.7.6.zip differ diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol similarity index 100% rename from tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol diff --git a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol-0.8.16.zip b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol-0.8.16.zip new file mode 100644 index 000000000..0a8d2de85 Binary files /dev/null and b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol-0.8.16.zip differ diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol similarity index 100% rename from tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol diff --git a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol-0.8.16.zip b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol-0.8.16.zip new file mode 100644 index 000000000..e1699cbbc Binary files /dev/null and b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol-0.8.16.zip differ diff --git a/tests/detectors/dead-code/0.8.0/dead-code.sol b/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol similarity index 100% rename from tests/detectors/dead-code/0.8.0/dead-code.sol rename to tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol diff --git a/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol-0.8.0.zip b/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol-0.8.0.zip new file mode 100644 index 000000000..ce3aaea1c Binary files /dev/null and b/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol-0.8.0.zip differ diff --git a/tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol-0.4.25.zip b/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol-0.4.25.zip new file mode 100644 index 000000000..b9dc135f6 Binary files /dev/null and b/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol-0.4.25.zip differ diff --git a/tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol-0.5.16.zip b/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol-0.5.16.zip new file mode 100644 index 000000000..0978fd849 Binary files /dev/null and b/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol-0.5.16.zip differ diff --git a/tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol-0.6.11.zip b/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol-0.6.11.zip new file mode 100644 index 000000000..41358f9ab Binary files /dev/null and b/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol-0.6.11.zip differ diff --git a/tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol-0.7.6.zip b/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol-0.7.6.zip new file mode 100644 index 000000000..b955e16f7 Binary files /dev/null and b/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol-0.7.6.zip differ diff --git a/tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol-0.8.0.zip b/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol-0.8.0.zip new file mode 100644 index 000000000..aa37e493d Binary files /dev/null and b/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol-0.8.0.zip differ diff --git a/tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol b/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol similarity index 100% rename from tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol rename to tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol diff --git a/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol-0.4.25.zip b/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol-0.4.25.zip new file mode 100644 index 000000000..93c0d9199 Binary files /dev/null and b/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol-0.4.25.zip differ diff --git a/tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol-0.4.25.zip b/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol-0.4.25.zip new file mode 100644 index 000000000..cc791012b Binary files /dev/null and b/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol-0.4.25.zip differ diff --git a/tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol-0.5.16.zip b/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol-0.5.16.zip new file mode 100644 index 000000000..7b2b5070e Binary files /dev/null and b/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol-0.5.16.zip differ diff --git a/tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol-0.6.11.zip b/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol-0.6.11.zip new file mode 100644 index 000000000..c44fa29df Binary files /dev/null and b/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol-0.6.11.zip differ diff --git a/tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol-0.7.6.zip b/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol-0.7.6.zip new file mode 100644 index 000000000..3b925a706 Binary files /dev/null and b/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol-0.7.6.zip differ diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol-0.4.25.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol-0.4.25.zip new file mode 100644 index 000000000..ad2ffbb55 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol-0.4.25.zip differ diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol-0.4.25.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol-0.4.25.zip new file mode 100644 index 000000000..da30a0c60 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol-0.4.25.zip differ diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol-0.4.25.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol-0.4.25.zip new file mode 100644 index 000000000..a0c7e0f3c Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol-0.4.25.zip differ diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol-0.5.16.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol-0.5.16.zip new file mode 100644 index 000000000..427417566 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol-0.5.16.zip differ diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol-0.5.16.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol-0.5.16.zip new file mode 100644 index 000000000..da11faf11 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol-0.5.16.zip differ diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol-0.5.16.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol-0.5.16.zip new file mode 100644 index 000000000..20a4ffad7 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol-0.5.16.zip differ diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol-0.6.11.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol-0.6.11.zip new file mode 100644 index 000000000..ad0c2202b Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol-0.6.11.zip differ diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol-0.6.11.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol-0.6.11.zip new file mode 100644 index 000000000..3caab6495 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol-0.6.11.zip differ diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol-0.6.11.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol-0.6.11.zip new file mode 100644 index 000000000..d9d553216 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol-0.6.11.zip differ diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol-0.7.6.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol-0.7.6.zip new file mode 100644 index 000000000..34472e2c0 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol-0.7.6.zip differ diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol-0.7.6.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol-0.7.6.zip new file mode 100644 index 000000000..d1b59dc7f Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol-0.7.6.zip differ diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol-0.7.6.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol-0.7.6.zip new file mode 100644 index 000000000..1a67de593 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol-0.7.6.zip differ diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol-0.8.0.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol-0.8.0.zip new file mode 100644 index 000000000..946b20c4e Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol-0.8.0.zip differ diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol-0.8.0.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol-0.8.0.zip new file mode 100644 index 000000000..b589e60eb Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol-0.8.0.zip differ diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol-0.8.0.zip b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol-0.8.0.zip new file mode 100644 index 000000000..997d1ce32 Binary files /dev/null and b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol-0.8.0.zip differ diff --git a/tests/detectors/enum-conversion/0.4.2/enum_conversion.sol b/tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol similarity index 100% rename from tests/detectors/enum-conversion/0.4.2/enum_conversion.sol rename to tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol diff --git a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol-0.4.25.zip b/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol-0.4.25.zip new file mode 100644 index 000000000..f3472e845 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol-0.4.25.zip differ diff --git a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol-0.5.16.zip b/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol-0.5.16.zip new file mode 100644 index 000000000..67902476a Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol-0.5.16.zip differ diff --git a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol-0.6.11.zip b/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol-0.6.11.zip new file mode 100644 index 000000000..1a4ad35c0 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol-0.6.11.zip differ diff --git a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol-0.7.6.zip b/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol-0.7.6.zip new file mode 100644 index 000000000..64d627411 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol-0.7.6.zip differ diff --git a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol-0.4.25.zip b/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol-0.4.25.zip new file mode 100644 index 000000000..a8c6ef9c4 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol-0.4.25.zip differ diff --git a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol-0.5.16.zip b/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol-0.5.16.zip new file mode 100644 index 000000000..dad675b7f Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol-0.5.16.zip differ diff --git a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol-0.6.11.zip b/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol-0.6.11.zip new file mode 100644 index 000000000..48cbf5d57 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol-0.6.11.zip differ diff --git a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol-0.7.6.zip b/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol-0.7.6.zip new file mode 100644 index 000000000..c7babaaea Binary files /dev/null and b/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol-0.7.6.zip differ diff --git a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol-0.4.25.zip b/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol-0.4.25.zip new file mode 100644 index 000000000..29f4c6d3d Binary files /dev/null and b/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol-0.4.25.zip differ diff --git a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol-0.5.16.zip b/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol-0.5.16.zip new file mode 100644 index 000000000..6e766bef1 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol-0.5.16.zip differ diff --git a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol-0.6.11.zip b/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol-0.6.11.zip new file mode 100644 index 000000000..eecce0013 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol-0.6.11.zip differ diff --git a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol-0.7.6.zip b/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol-0.7.6.zip new file mode 100644 index 000000000..63410dc28 Binary files /dev/null and b/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol-0.7.6.zip differ diff --git a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.4.25/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol diff --git a/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol-0.4.25.zip b/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol-0.4.25.zip new file mode 100644 index 000000000..fc12410ec Binary files /dev/null and b/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol-0.4.25.zip differ diff --git a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.5.16/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol diff --git a/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol-0.5.16.zip b/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol-0.5.16.zip new file mode 100644 index 000000000..2f82a0694 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol-0.5.16.zip differ diff --git a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.6.11/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol diff --git a/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol-0.6.11.zip b/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol-0.6.11.zip new file mode 100644 index 000000000..e0fcd6448 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol-0.6.11.zip differ diff --git a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.7.6/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol diff --git a/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol-0.7.6.zip b/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol-0.7.6.zip new file mode 100644 index 000000000..4a85398b4 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol-0.7.6.zip differ diff --git a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol diff --git a/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol-0.4.25.zip b/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol-0.4.25.zip new file mode 100644 index 000000000..49b70db57 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol-0.4.25.zip differ diff --git a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol diff --git a/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol-0.5.16.zip b/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol-0.5.16.zip new file mode 100644 index 000000000..05d3dfe14 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol-0.5.16.zip differ diff --git a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol diff --git a/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol-0.6.11.zip b/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol-0.6.11.zip new file mode 100644 index 000000000..736aa7b49 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol-0.6.11.zip differ diff --git a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol diff --git a/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol-0.7.6.zip b/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol-0.7.6.zip new file mode 100644 index 000000000..3aba90470 Binary files /dev/null and b/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol-0.7.6.zip differ diff --git a/tests/detectors/external-function/0.4.25/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol-0.4.25.zip b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol-0.4.25.zip new file mode 100644 index 000000000..246e20850 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol-0.4.25.zip differ diff --git a/tests/detectors/external-function/0.4.25/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol-0.4.25.zip b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol-0.4.25.zip new file mode 100644 index 000000000..197a46b84 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol-0.4.25.zip differ diff --git a/tests/detectors/external-function/0.4.25/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol-0.4.25.zip b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol-0.4.25.zip new file mode 100644 index 000000000..26537d510 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol-0.4.25.zip differ diff --git a/tests/detectors/external-function/0.4.25/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_import.sol diff --git a/tests/detectors/external-function/0.5.16/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol-0.5.16.zip b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol-0.5.16.zip new file mode 100644 index 000000000..15fa54933 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol-0.5.16.zip differ diff --git a/tests/detectors/external-function/0.5.16/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol-0.5.16.zip b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol-0.5.16.zip new file mode 100644 index 000000000..be227099b Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol-0.5.16.zip differ diff --git a/tests/detectors/external-function/0.5.16/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol-0.5.16.zip b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol-0.5.16.zip new file mode 100644 index 000000000..0ecd045d6 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol-0.5.16.zip differ diff --git a/tests/detectors/external-function/0.5.16/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_import.sol diff --git a/tests/detectors/external-function/0.6.11/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol-0.6.11.zip b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol-0.6.11.zip new file mode 100644 index 000000000..168715b15 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol-0.6.11.zip differ diff --git a/tests/detectors/external-function/0.6.11/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol-0.6.11.zip b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol-0.6.11.zip new file mode 100644 index 000000000..6aa9917ee Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol-0.6.11.zip differ diff --git a/tests/detectors/external-function/0.6.11/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol-0.6.11.zip b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol-0.6.11.zip new file mode 100644 index 000000000..ac335d578 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol-0.6.11.zip differ diff --git a/tests/detectors/external-function/0.6.11/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_import.sol diff --git a/tests/detectors/external-function/0.7.6/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol-0.7.6.zip b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol-0.7.6.zip new file mode 100644 index 000000000..fac92e0ec Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol-0.7.6.zip differ diff --git a/tests/detectors/external-function/0.7.6/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol-0.7.6.zip b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol-0.7.6.zip new file mode 100644 index 000000000..554fbd477 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol-0.7.6.zip differ diff --git a/tests/detectors/external-function/0.7.6/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol-0.7.6.zip b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol-0.7.6.zip new file mode 100644 index 000000000..396cb3295 Binary files /dev/null and b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol-0.7.6.zip differ diff --git a/tests/detectors/external-function/0.7.6/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_import.sol diff --git a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol diff --git a/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol-0.4.25.zip b/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol-0.4.25.zip new file mode 100644 index 000000000..38283a4f3 Binary files /dev/null and b/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol-0.4.25.zip differ diff --git a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol diff --git a/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol-0.5.16.zip b/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol-0.5.16.zip new file mode 100644 index 000000000..e3e73e4e5 Binary files /dev/null and b/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol-0.5.16.zip differ diff --git a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol diff --git a/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol-0.6.11.zip b/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol-0.6.11.zip new file mode 100644 index 000000000..242e346cb Binary files /dev/null and b/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol-0.6.11.zip differ diff --git a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol diff --git a/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol-0.7.6.zip b/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol-0.7.6.zip new file mode 100644 index 000000000..edf6e2639 Binary files /dev/null and b/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol-0.7.6.zip differ diff --git a/tests/detectors/immutable-states/0.4.25/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.4.25/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol diff --git a/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol-0.4.25.zip b/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol-0.4.25.zip new file mode 100644 index 000000000..a127e1507 Binary files /dev/null and b/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol-0.4.25.zip differ diff --git a/tests/detectors/immutable-states/0.5.16/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.5.16/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol diff --git a/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol-0.5.16.zip b/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol-0.5.16.zip new file mode 100644 index 000000000..55da1d8f6 Binary files /dev/null and b/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol-0.5.16.zip differ diff --git a/tests/detectors/immutable-states/0.6.11/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.6.11/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol diff --git a/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol-0.6.11.zip b/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol-0.6.11.zip new file mode 100644 index 000000000..95adeab8b Binary files /dev/null and b/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol-0.6.11.zip differ diff --git a/tests/detectors/immutable-states/0.7.6/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.7.6/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol diff --git a/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol-0.7.6.zip b/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol-0.7.6.zip new file mode 100644 index 000000000..7a5c2a2a4 Binary files /dev/null and b/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol-0.7.6.zip differ diff --git a/tests/detectors/immutable-states/0.8.0/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.8.0/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol diff --git a/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol-0.8.0.zip b/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol-0.8.0.zip new file mode 100644 index 000000000..7ca1e46b0 Binary files /dev/null and b/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol-0.8.0.zip differ diff --git a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol-0.4.25.zip b/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol-0.4.25.zip new file mode 100644 index 000000000..398bd2c9f Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol-0.4.25.zip differ diff --git a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol-0.5.16.zip b/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol-0.5.16.zip new file mode 100644 index 000000000..8a6cde76e Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol-0.5.16.zip differ diff --git a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol-0.6.11.zip b/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol-0.6.11.zip new file mode 100644 index 000000000..260fea383 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol-0.6.11.zip differ diff --git a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip new file mode 100644 index 000000000..a7fbdc6b6 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip differ diff --git a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol-0.4.25.zip b/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol-0.4.25.zip new file mode 100644 index 000000000..36dd1f4bf Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol-0.4.25.zip differ diff --git a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol-0.5.16.zip b/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol-0.5.16.zip new file mode 100644 index 000000000..cc707c963 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol-0.5.16.zip differ diff --git a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol-0.6.11.zip b/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol-0.6.11.zip new file mode 100644 index 000000000..1d5d42bd2 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol-0.6.11.zip differ diff --git a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol-0.7.6.zip b/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol-0.7.6.zip new file mode 100644 index 000000000..c1c0e0fae Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol-0.7.6.zip differ diff --git a/tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol-0.4.25.zip b/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol-0.4.25.zip new file mode 100644 index 000000000..5dd3dab12 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol-0.4.25.zip differ diff --git a/tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol-0.5.16.zip b/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol-0.5.16.zip new file mode 100644 index 000000000..e7cf7023c Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol-0.5.16.zip differ diff --git a/tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol-0.6.11.zip b/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol-0.6.11.zip new file mode 100644 index 000000000..9d4bee13a Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol-0.6.11.zip differ diff --git a/tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip new file mode 100644 index 000000000..7f833af85 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip differ diff --git a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol b/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol similarity index 100% rename from tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol rename to tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol diff --git a/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol-0.4.25.zip b/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol-0.4.25.zip new file mode 100644 index 000000000..487a22185 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol-0.4.25.zip differ diff --git a/tests/detectors/locked-ether/0.4.25/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.4.25/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol diff --git a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip new file mode 100644 index 000000000..b6092ecdb Binary files /dev/null and b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip differ diff --git a/tests/detectors/locked-ether/0.5.16/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.5.16/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol diff --git a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip new file mode 100644 index 000000000..88255d730 Binary files /dev/null and b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip differ diff --git a/tests/detectors/locked-ether/0.6.11/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.6.11/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol diff --git a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip new file mode 100644 index 000000000..2408eeb82 Binary files /dev/null and b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip differ diff --git a/tests/detectors/locked-ether/0.7.6/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.7.6/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol diff --git a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip new file mode 100644 index 000000000..ecf7e7944 Binary files /dev/null and b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip differ diff --git a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.4.25/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol-0.4.25.zip b/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol-0.4.25.zip new file mode 100644 index 000000000..1f80dc41b Binary files /dev/null and b/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol-0.4.25.zip differ diff --git a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.5.16/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol-0.5.16.zip b/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol-0.5.16.zip new file mode 100644 index 000000000..1f37bc912 Binary files /dev/null and b/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol-0.5.16.zip differ diff --git a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.6.11/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol-0.6.11.zip b/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol-0.6.11.zip new file mode 100644 index 000000000..60c9a4f9b Binary files /dev/null and b/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol-0.6.11.zip differ diff --git a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.7.6/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol-0.7.6.zip b/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol-0.7.6.zip new file mode 100644 index 000000000..65202e5e1 Binary files /dev/null and b/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol-0.7.6.zip differ diff --git a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol-0.4.25.zip b/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol-0.4.25.zip new file mode 100644 index 000000000..be3e13807 Binary files /dev/null and b/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol-0.4.25.zip differ diff --git a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol-0.5.16.zip b/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol-0.5.16.zip new file mode 100644 index 000000000..0ad84a588 Binary files /dev/null and b/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol-0.5.16.zip differ diff --git a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol-0.6.11.zip b/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol-0.6.11.zip new file mode 100644 index 000000000..5f66da061 Binary files /dev/null and b/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol-0.6.11.zip differ diff --git a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol-0.7.6.zip b/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol-0.7.6.zip new file mode 100644 index 000000000..5888e0e53 Binary files /dev/null and b/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol-0.7.6.zip differ diff --git a/tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol-0.4.25.zip b/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol-0.4.25.zip new file mode 100644 index 000000000..70e47e1fd Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol-0.4.25.zip differ diff --git a/tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol-0.5.16.zip b/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol-0.5.16.zip new file mode 100644 index 000000000..47e5d4152 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol-0.5.16.zip differ diff --git a/tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol-0.6.11.zip b/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol-0.6.11.zip new file mode 100644 index 000000000..df8b8d847 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol-0.6.11.zip differ diff --git a/tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol-0.7.6.zip b/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol-0.7.6.zip new file mode 100644 index 000000000..91e1155bb Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol-0.7.6.zip differ diff --git a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol-0.4.25.zip b/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol-0.4.25.zip new file mode 100644 index 000000000..bae6ea957 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol-0.4.25.zip differ diff --git a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol-0.5.16.zip b/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol-0.5.16.zip new file mode 100644 index 000000000..5ff4bd792 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol-0.5.16.zip differ diff --git a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol-0.6.11.zip b/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol-0.6.11.zip new file mode 100644 index 000000000..4ba327858 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol-0.6.11.zip differ diff --git a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol-0.7.6.zip b/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol-0.7.6.zip new file mode 100644 index 000000000..ceae25ad3 Binary files /dev/null and b/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol-0.7.6.zip differ diff --git a/tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol-0.4.25.zip b/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol-0.4.25.zip new file mode 100644 index 000000000..377d24cfd Binary files /dev/null and b/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol-0.4.25.zip differ diff --git a/tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol-0.5.16.zip b/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol-0.5.16.zip new file mode 100644 index 000000000..e6082623e Binary files /dev/null and b/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol-0.5.16.zip differ diff --git a/tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol-0.6.11.zip b/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol-0.6.11.zip new file mode 100644 index 000000000..2aeae50e8 Binary files /dev/null and b/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol-0.6.11.zip differ diff --git a/tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol-0.7.6.zip b/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol-0.7.6.zip new file mode 100644 index 000000000..ef5fb240f Binary files /dev/null and b/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol-0.7.6.zip differ diff --git a/tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol-0.8.0.zip b/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol-0.8.0.zip new file mode 100644 index 000000000..13d17a8aa Binary files /dev/null and b/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol-0.8.0.zip differ diff --git a/tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol b/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol similarity index 100% rename from tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol rename to tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol diff --git a/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol-0.4.22.zip b/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol-0.4.22.zip new file mode 100644 index 000000000..53e147730 Binary files /dev/null and b/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol-0.4.22.zip differ diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol-0.4.25.zip b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol-0.4.25.zip new file mode 100644 index 000000000..c7aaae071 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol-0.4.25.zip differ diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol-0.4.25.zip b/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol-0.4.25.zip new file mode 100644 index 000000000..2726a771d Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol-0.4.25.zip differ diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol-0.5.16.zip b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol-0.5.16.zip new file mode 100644 index 000000000..da900f1f6 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol-0.5.16.zip differ diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol-0.5.16.zip b/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol-0.5.16.zip new file mode 100644 index 000000000..160fee3a2 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol-0.5.16.zip differ diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol-0.6.11.zip b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol-0.6.11.zip new file mode 100644 index 000000000..3e6277ac1 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol-0.6.11.zip differ diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol-0.6.11.zip b/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol-0.6.11.zip new file mode 100644 index 000000000..67f8eff7e Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol-0.6.11.zip differ diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol-0.7.6.zip b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol-0.7.6.zip new file mode 100644 index 000000000..cc9d43c58 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol-0.7.6.zip differ diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol diff --git a/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol-0.7.6.zip b/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol-0.7.6.zip new file mode 100644 index 000000000..7b304b5c0 Binary files /dev/null and b/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol-0.7.6.zip differ diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.24.sol b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol similarity index 100% rename from tests/detectors/pragma/0.4.25/pragma.0.4.24.sol rename to tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol similarity index 100% rename from tests/detectors/pragma/0.4.25/pragma.0.4.25.sol rename to tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol diff --git a/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol-0.4.25.zip b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol-0.4.25.zip new file mode 100644 index 000000000..2d5a04bce Binary files /dev/null and b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol-0.4.25.zip differ diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.15.sol b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol similarity index 100% rename from tests/detectors/pragma/0.5.16/pragma.0.5.15.sol rename to tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol similarity index 100% rename from tests/detectors/pragma/0.5.16/pragma.0.5.16.sol rename to tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol diff --git a/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol-0.5.16.zip b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol-0.5.16.zip new file mode 100644 index 000000000..bfc1809b3 Binary files /dev/null and b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol-0.5.16.zip differ diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.10.sol b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol similarity index 100% rename from tests/detectors/pragma/0.6.11/pragma.0.6.10.sol rename to tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol similarity index 100% rename from tests/detectors/pragma/0.6.11/pragma.0.6.11.sol rename to tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol diff --git a/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol-0.6.11.zip b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol-0.6.11.zip new file mode 100644 index 000000000..89ea8272d Binary files /dev/null and b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol-0.6.11.zip differ diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.5.sol b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol similarity index 100% rename from tests/detectors/pragma/0.7.6/pragma.0.7.5.sol rename to tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol similarity index 100% rename from tests/detectors/pragma/0.7.6/pragma.0.7.6.sol rename to tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol diff --git a/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol-0.7.6.zip b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol-0.7.6.zip new file mode 100644 index 000000000..407e5a50c Binary files /dev/null and b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol-0.7.6.zip differ diff --git a/tests/detectors/protected-vars/0.8.2/comment.sol b/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol similarity index 100% rename from tests/detectors/protected-vars/0.8.2/comment.sol rename to tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol diff --git a/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol-0.8.2.zip b/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol-0.8.2.zip new file mode 100644 index 000000000..a0fd07562 Binary files /dev/null and b/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol-0.8.2.zip differ diff --git a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol b/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol similarity index 100% rename from tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol rename to tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol diff --git a/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol-0.4.25.zip b/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol-0.4.25.zip new file mode 100644 index 000000000..65217354c Binary files /dev/null and b/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol-0.4.25.zip differ diff --git a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.4.25/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol-0.4.25.zip b/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol-0.4.25.zip new file mode 100644 index 000000000..d56c59836 Binary files /dev/null and b/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol-0.4.25.zip differ diff --git a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.5.16/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol-0.5.16.zip b/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol-0.5.16.zip new file mode 100644 index 000000000..f391d1f08 Binary files /dev/null and b/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol-0.5.16.zip differ diff --git a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.6.11/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol-0.6.11.zip b/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol-0.6.11.zip new file mode 100644 index 000000000..aa134009f Binary files /dev/null and b/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol-0.6.11.zip differ diff --git a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.7.6/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol-0.7.6.zip b/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol-0.7.6.zip new file mode 100644 index 000000000..edeac02bc Binary files /dev/null and b/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol-0.4.25.zip new file mode 100644 index 000000000..32ea3a4cb Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol-0.5.16.zip new file mode 100644 index 000000000..99736bcdf Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol-0.6.11.zip new file mode 100644 index 000000000..f542e7c8b Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol-0.7.6.zip new file mode 100644 index 000000000..da9ed8b94 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/DAO.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol-0.4.25.zip new file mode 100644 index 000000000..5b8fb4fb7 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol-0.4.25.zip new file mode 100644 index 000000000..1fa87b48a Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol-0.4.25.zip new file mode 100644 index 000000000..ac63e710d Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol-0.5.16.zip new file mode 100644 index 000000000..c105dd00e Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol-0.5.16.zip new file mode 100644 index 000000000..90bd7283e Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol-0.6.11.zip new file mode 100644 index 000000000..b8ddf59eb Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol-0.6.11.zip new file mode 100644 index 000000000..5aeda8ec1 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol-0.7.6.zip new file mode 100644 index 000000000..24c706745 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol-0.7.6.zip new file mode 100644 index 000000000..34ba3bcdf Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol-0.8.10.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol-0.8.10.zip new file mode 100644 index 000000000..f73bdbef2 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol-0.8.10.zip differ diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol-0.8.10.zip b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol-0.8.10.zip new file mode 100644 index 000000000..cc3cef205 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol-0.8.10.zip differ diff --git a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol-0.5.16.zip new file mode 100644 index 000000000..afa27fec3 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol-0.6.11.zip new file mode 100644 index 000000000..61a44635e Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol-0.7.6.zip new file mode 100644 index 000000000..342996a6d Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol-0.4.25.zip new file mode 100644 index 000000000..9880c5cde Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol-0.4.25.zip new file mode 100644 index 000000000..5d49d1f9b Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol-0.4.25.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol-0.5.16.zip new file mode 100644 index 000000000..ec7ede871 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol-0.5.16.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol-0.5.16.zip new file mode 100644 index 000000000..eb59bae82 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol-0.5.16.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol-0.6.11.zip new file mode 100644 index 000000000..6ecd2ca63 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol-0.6.11.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol-0.6.11.zip new file mode 100644 index 000000000..68f96e755 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol-0.6.11.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol-0.7.6.zip new file mode 100644 index 000000000..797c47e35 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol-0.7.6.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol-0.7.6.zip new file mode 100644 index 000000000..660cd37b3 Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol-0.7.6.zip differ diff --git a/tests/detectors/reentrancy-no-eth/0.8.2/comment.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.8.2/comment.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol-0.8.2.zip b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol-0.8.2.zip new file mode 100644 index 000000000..5c5ade3bd Binary files /dev/null and b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol-0.8.2.zip differ diff --git a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol b/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol similarity index 100% rename from tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol rename to tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol diff --git a/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol-0.4.21.zip b/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol-0.4.21.zip new file mode 100644 index 000000000..4523d0c44 Binary files /dev/null and b/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol-0.4.21.zip differ diff --git a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol b/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol similarity index 100% rename from tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol rename to tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol diff --git a/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol-0.4.25.zip b/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol-0.4.25.zip new file mode 100644 index 000000000..ed154ea22 Binary files /dev/null and b/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol-0.4.25.zip differ diff --git a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.4.25/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol diff --git a/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol-0.4.25.zip b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol-0.4.25.zip new file mode 100644 index 000000000..af31b3f2d Binary files /dev/null and b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol-0.4.25.zip differ diff --git a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.5.16/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol diff --git a/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol-0.5.16.zip b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol-0.5.16.zip new file mode 100644 index 000000000..ec3637228 Binary files /dev/null and b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol-0.5.16.zip differ diff --git a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.6.11/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol diff --git a/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol-0.6.11.zip b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol-0.6.11.zip new file mode 100644 index 000000000..7d07ba525 Binary files /dev/null and b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol-0.6.11.zip differ diff --git a/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol similarity index 100% rename from tests/detectors/rtlo/0.8.0/unicode_direction_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol diff --git a/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol-0.8.0.zip b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol-0.8.0.zip new file mode 100644 index 000000000..604ac2828 Binary files /dev/null and b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol-0.8.0.zip differ diff --git a/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol-0.4.25.zip b/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol-0.4.25.zip new file mode 100644 index 000000000..156ca50cc Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol-0.4.25.zip differ diff --git a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol-0.5.16.zip b/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol-0.5.16.zip new file mode 100644 index 000000000..58645f806 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol-0.5.16.zip differ diff --git a/tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol-0.7.5.zip b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol-0.7.5.zip new file mode 100644 index 000000000..24923a3bc Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol-0.7.5.zip differ diff --git a/tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol-0.7.5.zip b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol-0.7.5.zip new file mode 100644 index 000000000..157d322df Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol-0.7.5.zip differ diff --git a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol b/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol similarity index 100% rename from tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol rename to tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol diff --git a/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol-0.4.25.zip b/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol-0.4.25.zip new file mode 100644 index 000000000..e3d686a3c Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol-0.4.25.zip differ diff --git a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol b/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol similarity index 100% rename from tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol rename to tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol diff --git a/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol-0.5.16.zip b/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol-0.5.16.zip new file mode 100644 index 000000000..2e70c1834 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol-0.5.16.zip differ diff --git a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol-0.4.25.zip b/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol-0.4.25.zip new file mode 100644 index 000000000..a4382aa35 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol-0.4.25.zip differ diff --git a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol-0.5.16.zip b/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol-0.5.16.zip new file mode 100644 index 000000000..de1d75e3d Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol-0.5.16.zip differ diff --git a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol-0.6.11.zip b/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol-0.6.11.zip new file mode 100644 index 000000000..d596d4d22 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol-0.6.11.zip differ diff --git a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol-0.7.6.zip b/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol-0.7.6.zip new file mode 100644 index 000000000..41578ef79 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol-0.7.6.zip differ diff --git a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol-0.4.25.zip b/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol-0.4.25.zip new file mode 100644 index 000000000..957736aba Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol-0.4.25.zip differ diff --git a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol-0.5.16.zip b/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol-0.5.16.zip new file mode 100644 index 000000000..dfb733632 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol-0.5.16.zip differ diff --git a/tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol-0.6.11.zip b/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol-0.6.11.zip new file mode 100644 index 000000000..96ac3b916 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol-0.6.11.zip differ diff --git a/tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol-0.7.5.zip b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol-0.7.5.zip new file mode 100644 index 000000000..516c1d36d Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol-0.7.5.zip differ diff --git a/tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol-0.7.5.zip b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol-0.7.5.zip new file mode 100644 index 000000000..5723cf012 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol-0.7.5.zip differ diff --git a/tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol-0.7.6.zip b/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol-0.7.6.zip new file mode 100644 index 000000000..cf2671648 Binary files /dev/null and b/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol-0.7.6.zip differ diff --git a/tests/detectors/similar-names/0.4.25/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.4.25/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol diff --git a/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol-0.4.25.zip b/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol-0.4.25.zip new file mode 100644 index 000000000..b91c8f6ff Binary files /dev/null and b/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol-0.4.25.zip differ diff --git a/tests/detectors/similar-names/0.5.16/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.5.16/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol diff --git a/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol-0.5.16.zip b/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol-0.5.16.zip new file mode 100644 index 000000000..d547748aa Binary files /dev/null and b/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol-0.5.16.zip differ diff --git a/tests/detectors/similar-names/0.6.11/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.6.11/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol diff --git a/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol-0.6.11.zip b/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol-0.6.11.zip new file mode 100644 index 000000000..87dd6c4a6 Binary files /dev/null and b/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol-0.6.11.zip differ diff --git a/tests/detectors/similar-names/0.7.6/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.7.6/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol diff --git a/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol-0.7.6.zip b/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol-0.7.6.zip new file mode 100644 index 000000000..5db2e6d7d Binary files /dev/null and b/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol-0.7.6.zip differ diff --git a/tests/detectors/solc-version/0.4.25/static.sol b/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol similarity index 100% rename from tests/detectors/solc-version/0.4.25/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol-0.4.25.zip b/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol-0.4.25.zip new file mode 100644 index 000000000..cb382616f Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol-0.4.25.zip differ diff --git a/tests/detectors/solc-version/0.5.14/static.sol b/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol similarity index 100% rename from tests/detectors/solc-version/0.5.14/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol-0.5.14.zip b/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol-0.5.14.zip new file mode 100644 index 000000000..5e917a5d5 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol-0.5.14.zip differ diff --git a/tests/detectors/solc-version/0.5.16/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol-0.5.16.zip b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol-0.5.16.zip new file mode 100644 index 000000000..ad3abe596 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol-0.5.16.zip differ diff --git a/tests/detectors/solc-version/0.5.16/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol-0.5.16.zip b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol-0.5.16.zip new file mode 100644 index 000000000..e35aea004 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol-0.5.16.zip differ diff --git a/tests/detectors/solc-version/0.5.16/static.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol-0.5.16.zip b/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol-0.5.16.zip new file mode 100644 index 000000000..fb2af633f Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol-0.5.16.zip differ diff --git a/tests/detectors/solc-version/0.6.10/static.sol b/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol similarity index 100% rename from tests/detectors/solc-version/0.6.10/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol-0.6.10.zip b/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol-0.6.10.zip new file mode 100644 index 000000000..5632e16ab Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol-0.6.10.zip differ diff --git a/tests/detectors/solc-version/0.6.11/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol-0.6.11.zip b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol-0.6.11.zip new file mode 100644 index 000000000..ec6cc7938 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol-0.6.11.zip differ diff --git a/tests/detectors/solc-version/0.6.11/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol-0.6.11.zip b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol-0.6.11.zip new file mode 100644 index 000000000..22f92152d Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol-0.6.11.zip differ diff --git a/tests/detectors/solc-version/0.6.11/static.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol-0.6.11.zip b/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol-0.6.11.zip new file mode 100644 index 000000000..3bbef45cf Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol-0.6.11.zip differ diff --git a/tests/detectors/solc-version/0.7.4/static.sol b/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol similarity index 100% rename from tests/detectors/solc-version/0.7.4/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol-0.7.4.zip b/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol-0.7.4.zip new file mode 100644 index 000000000..2a47cd980 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol-0.7.4.zip differ diff --git a/tests/detectors/solc-version/0.7.6/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol-0.7.6.zip b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol-0.7.6.zip new file mode 100644 index 000000000..79e1035d9 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol-0.7.6.zip differ diff --git a/tests/detectors/solc-version/0.7.6/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol-0.7.6.zip b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol-0.7.6.zip new file mode 100644 index 000000000..b4d9921ca Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol-0.7.6.zip differ diff --git a/tests/detectors/solc-version/0.7.6/static.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol-0.7.6.zip b/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol-0.7.6.zip new file mode 100644 index 000000000..9dfa0ab81 Binary files /dev/null and b/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol-0.7.6.zip differ diff --git a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol similarity index 100% rename from tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol rename to tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol diff --git a/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol-0.5.10.zip b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol-0.5.10.zip new file mode 100644 index 000000000..0e17648a5 Binary files /dev/null and b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol-0.5.10.zip differ diff --git a/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol similarity index 100% rename from tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol rename to tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol diff --git a/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol-0.5.16.zip b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol-0.5.16.zip new file mode 100644 index 000000000..26b325203 Binary files /dev/null and b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol-0.5.16.zip differ diff --git a/tests/detectors/suicidal/0.4.25/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.4.25/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol diff --git a/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol-0.4.25.zip b/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol-0.4.25.zip new file mode 100644 index 000000000..3808dc2ed Binary files /dev/null and b/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol-0.4.25.zip differ diff --git a/tests/detectors/suicidal/0.5.16/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.5.16/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol diff --git a/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol-0.5.16.zip b/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol-0.5.16.zip new file mode 100644 index 000000000..1cf53417c Binary files /dev/null and b/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol-0.5.16.zip differ diff --git a/tests/detectors/suicidal/0.6.11/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.6.11/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol diff --git a/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol-0.6.11.zip b/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol-0.6.11.zip new file mode 100644 index 000000000..32fed3239 Binary files /dev/null and b/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol-0.6.11.zip differ diff --git a/tests/detectors/suicidal/0.7.6/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.7.6/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol diff --git a/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol-0.7.6.zip b/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol-0.7.6.zip new file mode 100644 index 000000000..635092d49 Binary files /dev/null and b/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol-0.7.6.zip differ diff --git a/tests/detectors/tautology/0.4.25/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.4.25/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol diff --git a/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol-0.4.25.zip b/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol-0.4.25.zip new file mode 100644 index 000000000..f21d15dfc Binary files /dev/null and b/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol-0.4.25.zip differ diff --git a/tests/detectors/tautology/0.5.16/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.5.16/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol diff --git a/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol-0.5.16.zip b/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol-0.5.16.zip new file mode 100644 index 000000000..d6d87b72a Binary files /dev/null and b/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol-0.5.16.zip differ diff --git a/tests/detectors/tautology/0.6.11/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.6.11/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol diff --git a/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol-0.6.11.zip b/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol-0.6.11.zip new file mode 100644 index 000000000..c56983f64 Binary files /dev/null and b/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol-0.6.11.zip differ diff --git a/tests/detectors/tautology/0.7.6/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.7.6/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol diff --git a/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol-0.7.6.zip b/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol-0.7.6.zip new file mode 100644 index 000000000..fbfdcf189 Binary files /dev/null and b/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol-0.7.6.zip differ diff --git a/tests/detectors/timestamp/0.4.25/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.4.25/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol diff --git a/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol-0.4.25.zip b/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol-0.4.25.zip new file mode 100644 index 000000000..131e194b2 Binary files /dev/null and b/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol-0.4.25.zip differ diff --git a/tests/detectors/timestamp/0.5.16/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.5.16/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol diff --git a/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol-0.5.16.zip b/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol-0.5.16.zip new file mode 100644 index 000000000..c6f0cae03 Binary files /dev/null and b/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol-0.5.16.zip differ diff --git a/tests/detectors/timestamp/0.6.11/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.6.11/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol diff --git a/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol-0.6.11.zip b/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol-0.6.11.zip new file mode 100644 index 000000000..2a1ddce4b Binary files /dev/null and b/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol-0.6.11.zip differ diff --git a/tests/detectors/timestamp/0.7.6/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.7.6/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol diff --git a/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol-0.7.6.zip b/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol-0.7.6.zip new file mode 100644 index 000000000..4f2f5b802 Binary files /dev/null and b/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol-0.7.6.zip differ diff --git a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.4.25/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol-0.4.25.zip b/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol-0.4.25.zip new file mode 100644 index 000000000..e2a4b225c Binary files /dev/null and b/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol-0.4.25.zip differ diff --git a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.5.16/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol-0.5.16.zip b/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol-0.5.16.zip new file mode 100644 index 000000000..3ea8c53d8 Binary files /dev/null and b/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol-0.5.16.zip differ diff --git a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.6.11/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol-0.6.11.zip b/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol-0.6.11.zip new file mode 100644 index 000000000..830781226 Binary files /dev/null and b/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol-0.6.11.zip differ diff --git a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.7.6/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol-0.7.6.zip b/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol-0.7.6.zip new file mode 100644 index 000000000..59ec7323c Binary files /dev/null and b/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol-0.7.6.zip differ diff --git a/tests/detectors/tx-origin/0.4.25/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.4.25/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol diff --git a/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol-0.4.25.zip b/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol-0.4.25.zip new file mode 100644 index 000000000..3d0cf50db Binary files /dev/null and b/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol-0.4.25.zip differ diff --git a/tests/detectors/tx-origin/0.5.16/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.5.16/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol diff --git a/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol-0.5.16.zip b/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol-0.5.16.zip new file mode 100644 index 000000000..f2f87e8aa Binary files /dev/null and b/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol-0.5.16.zip differ diff --git a/tests/detectors/tx-origin/0.6.11/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.6.11/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol diff --git a/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol-0.6.11.zip b/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol-0.6.11.zip new file mode 100644 index 000000000..624914fda Binary files /dev/null and b/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol-0.6.11.zip differ diff --git a/tests/detectors/tx-origin/0.7.6/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.7.6/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol diff --git a/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol-0.7.6.zip b/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol-0.7.6.zip new file mode 100644 index 000000000..d264d4c04 Binary files /dev/null and b/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol-0.7.6.zip differ diff --git a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol-0.4.25.zip new file mode 100644 index 000000000..a3251dbff Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol-0.4.25.zip differ diff --git a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol-0.5.16.zip new file mode 100644 index 000000000..7a845b6a0 Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol-0.5.16.zip differ diff --git a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol-0.6.11.zip new file mode 100644 index 000000000..0a5eb9e8d Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol-0.6.11.zip differ diff --git a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip new file mode 100644 index 000000000..530d247c4 Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip differ diff --git a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.4.25/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol-0.4.25.zip new file mode 100644 index 000000000..8c7002aeb Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol-0.4.25.zip differ diff --git a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.5.16/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol-0.5.16.zip new file mode 100644 index 000000000..565a3c8e6 Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol-0.5.16.zip differ diff --git a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.6.11/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol-0.6.11.zip new file mode 100644 index 000000000..546fd4bcc Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol-0.6.11.zip differ diff --git a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.7.6/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol-0.7.6.zip new file mode 100644 index 000000000..6738d5526 Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol-0.7.6.zip differ diff --git a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol b/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol similarity index 100% rename from tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol rename to tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol diff --git a/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol-0.7.6.zip new file mode 100644 index 000000000..9eb84ef92 Binary files /dev/null and b/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol-0.7.6.zip differ diff --git a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol-0.4.25.zip new file mode 100644 index 000000000..c4cb58f5c Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol-0.4.25.zip differ diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol-0.5.16.zip new file mode 100644 index 000000000..1208b1deb Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol-0.5.16.zip differ diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol-0.5.16.zip new file mode 100644 index 000000000..41d161f3f Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol-0.5.16.zip differ diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol-0.6.11.zip new file mode 100644 index 000000000..5d42f83a8 Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol-0.6.11.zip differ diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol-0.6.11.zip new file mode 100644 index 000000000..6ee9f82ed Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol-0.6.11.zip differ diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol-0.7.6.zip new file mode 100644 index 000000000..ac01f586f Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol-0.7.6.zip differ diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol-0.7.6.zip new file mode 100644 index 000000000..6ac41fb1b Binary files /dev/null and b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol-0.7.6.zip differ diff --git a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol-0.4.25.zip b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol-0.4.25.zip new file mode 100644 index 000000000..79813d6f5 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol-0.4.25.zip differ diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol-0.5.16.zip b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol-0.5.16.zip new file mode 100644 index 000000000..c66ab9195 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol-0.5.16.zip differ diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol-0.5.8.zip b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol-0.5.8.zip new file mode 100644 index 000000000..8c4e38c7d Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol-0.5.8.zip differ diff --git a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip new file mode 100644 index 000000000..60ae4138c Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip differ diff --git a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip new file mode 100644 index 000000000..c365c989d Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip differ diff --git a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip new file mode 100644 index 000000000..ca7ea0eb3 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip differ diff --git a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip new file mode 100644 index 000000000..3049b95bf Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip differ diff --git a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.4.25/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol-0.4.25.zip b/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol-0.4.25.zip new file mode 100644 index 000000000..214c5f3b2 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol-0.4.25.zip differ diff --git a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.5.16/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol-0.5.16.zip b/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol-0.5.16.zip new file mode 100644 index 000000000..10987a73d Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol-0.5.16.zip differ diff --git a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.6.11/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol-0.6.11.zip b/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol-0.6.11.zip new file mode 100644 index 000000000..2b0eaa0bb Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol-0.6.11.zip differ diff --git a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.7.6/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol-0.7.6.zip b/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol-0.7.6.zip new file mode 100644 index 000000000..029c7787a Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol-0.7.6.zip differ diff --git a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol b/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol similarity index 100% rename from tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol rename to tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol-0.4.25.zip b/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol-0.4.25.zip new file mode 100644 index 000000000..61862f3b9 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol-0.4.25.zip differ diff --git a/tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol b/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol similarity index 100% rename from tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol rename to tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol diff --git a/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol-0.8.19.zip b/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol-0.8.19.zip new file mode 100644 index 000000000..94f4c4341 Binary files /dev/null and b/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol-0.8.19.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol-0.4.25.zip new file mode 100644 index 000000000..958377559 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol-0.4.25.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol-0.4.25.zip new file mode 100644 index 000000000..7e500f26f Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol-0.4.25.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.4.25/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol-0.4.25.zip new file mode 100644 index 000000000..64fdf952b Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol-0.4.25.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol-0.5.16.zip new file mode 100644 index 000000000..cd248ba8e Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol-0.5.16.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol-0.5.16.zip new file mode 100644 index 000000000..4af369393 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol-0.5.16.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.5.16/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol-0.5.16.zip new file mode 100644 index 000000000..0700332b7 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol-0.5.16.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol-0.6.11.zip new file mode 100644 index 000000000..3e087b6fa Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol-0.6.11.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol-0.6.11.zip new file mode 100644 index 000000000..cfd1482b2 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol-0.6.11.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.6.11/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol-0.6.11.zip new file mode 100644 index 000000000..5b24376e0 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol-0.6.11.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol-0.7.6.zip new file mode 100644 index 000000000..83821e76f Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol-0.7.6.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol-0.7.6.zip new file mode 100644 index 000000000..f0647b2f3 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol-0.7.6.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.7.6/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol-0.7.6.zip new file mode 100644 index 000000000..d1d3ce9e8 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol-0.7.6.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol-0.8.15.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol-0.8.15.zip new file mode 100644 index 000000000..c78e35a4b Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol-0.8.15.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol-0.8.15.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol-0.8.15.zip new file mode 100644 index 000000000..ab7741519 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol-0.8.15.zip differ diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.8.15/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol-0.8.15.zip b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol-0.8.15.zip new file mode 100644 index 000000000..4afbcf076 Binary files /dev/null and b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol-0.8.15.zip differ diff --git a/tests/detectors/unused-return/0.4.25/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.4.25/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol diff --git a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip new file mode 100644 index 000000000..bfe469a89 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip differ diff --git a/tests/detectors/unused-return/0.5.16/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.5.16/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol diff --git a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip new file mode 100644 index 000000000..90d776869 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip differ diff --git a/tests/detectors/unused-return/0.6.11/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.6.11/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol diff --git a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip new file mode 100644 index 000000000..5f04b6a00 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip differ diff --git a/tests/detectors/unused-return/0.7.6/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.7.6/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol diff --git a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip new file mode 100644 index 000000000..ac668ccc9 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip differ diff --git a/tests/detectors/unused-state/0.4.25/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.4.25/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol diff --git a/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol-0.4.25.zip new file mode 100644 index 000000000..652bcc877 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol-0.4.25.zip differ diff --git a/tests/detectors/unused-state/0.5.16/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.5.16/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol diff --git a/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol-0.5.16.zip new file mode 100644 index 000000000..e6c036f23 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol-0.5.16.zip differ diff --git a/tests/detectors/unused-state/0.6.11/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.6.11/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol diff --git a/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol-0.6.11.zip new file mode 100644 index 000000000..162967fba Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol-0.6.11.zip differ diff --git a/tests/detectors/unused-state/0.7.6/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.7.6/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol diff --git a/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol-0.7.6.zip new file mode 100644 index 000000000..2feb3c2f6 Binary files /dev/null and b/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol-0.7.6.zip differ diff --git a/tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol-0.4.25.zip b/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol-0.4.25.zip new file mode 100644 index 000000000..b01087762 Binary files /dev/null and b/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol-0.4.25.zip differ diff --git a/tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol-0.5.16.zip b/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol-0.5.16.zip new file mode 100644 index 000000000..3e508c116 Binary files /dev/null and b/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol-0.5.16.zip differ diff --git a/tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol-0.6.11.zip b/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol-0.6.11.zip new file mode 100644 index 000000000..baad7c16f Binary files /dev/null and b/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol-0.6.11.zip differ diff --git a/tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol-0.7.6.zip b/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol-0.7.6.zip new file mode 100644 index 000000000..7c0f086da Binary files /dev/null and b/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol-0.7.6.zip differ diff --git a/tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol-0.8.15.zip b/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol-0.8.15.zip new file mode 100644 index 000000000..07148e9cb Binary files /dev/null and b/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol-0.8.15.zip differ diff --git a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol b/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol similarity index 100% rename from tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol rename to tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol diff --git a/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol-0.4.25.zip b/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol-0.4.25.zip new file mode 100644 index 000000000..4b0586186 Binary files /dev/null and b/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol-0.4.25.zip differ diff --git a/tests/detectors/void-cst/0.4.25/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.4.25/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol diff --git a/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol-0.4.25.zip b/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol-0.4.25.zip new file mode 100644 index 000000000..828a6ee51 Binary files /dev/null and b/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol-0.4.25.zip differ diff --git a/tests/detectors/void-cst/0.5.16/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.5.16/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol diff --git a/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol-0.5.16.zip b/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol-0.5.16.zip new file mode 100644 index 000000000..b048aab56 Binary files /dev/null and b/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol-0.5.16.zip differ diff --git a/tests/detectors/void-cst/0.6.11/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.6.11/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol diff --git a/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol-0.6.11.zip b/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol-0.6.11.zip new file mode 100644 index 000000000..8e325aea9 Binary files /dev/null and b/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol-0.6.11.zip differ diff --git a/tests/detectors/void-cst/0.7.6/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.7.6/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol diff --git a/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol-0.7.6.zip b/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol-0.7.6.zip new file mode 100644 index 000000000..dc42512b7 Binary files /dev/null and b/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol-0.7.6.zip differ diff --git a/tests/detectors/weak-prng/0.4.25/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.4.25/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol diff --git a/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol-0.4.25.zip b/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol-0.4.25.zip new file mode 100644 index 000000000..39feeebb1 Binary files /dev/null and b/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol-0.4.25.zip differ diff --git a/tests/detectors/weak-prng/0.5.16/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.5.16/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol diff --git a/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol-0.5.16.zip b/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol-0.5.16.zip new file mode 100644 index 000000000..6d6c4dc64 Binary files /dev/null and b/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol-0.5.16.zip differ diff --git a/tests/detectors/weak-prng/0.6.11/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.6.11/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol diff --git a/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol-0.6.11.zip b/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol-0.6.11.zip new file mode 100644 index 000000000..c83412c74 Binary files /dev/null and b/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol-0.6.11.zip differ diff --git a/tests/detectors/weak-prng/0.7.6/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.7.6/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol diff --git a/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol-0.7.6.zip b/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol-0.7.6.zip new file mode 100644 index 000000000..1f55346af Binary files /dev/null and b/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol-0.7.6.zip differ diff --git a/tests/detectors/write-after-write/0.8.0/write-after-write.sol b/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol similarity index 100% rename from tests/detectors/write-after-write/0.8.0/write-after-write.sol rename to tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol diff --git a/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol-0.8.0.zip b/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol-0.8.0.zip new file mode 100644 index 000000000..ce859f686 Binary files /dev/null and b/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol-0.8.0.zip differ diff --git a/tests/test_detectors.py b/tests/e2e/detectors/test_detectors.py similarity index 91% rename from tests/test_detectors.py rename to tests/e2e/detectors/test_detectors.py index 9d82afd2c..e6b87d530 100644 --- a/tests/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -1,15 +1,13 @@ -import json import os -import pathlib +from pathlib import Path import sys -from pprint import pprint from typing import Type, Optional, List import pytest -from deepdiff import DeepDiff # pip install deepdiff +from crytic_compile import CryticCompile, save_to_zip +from crytic_compile.utils.zip import load_from_zip -from solc_select.solc_select import install_artifacts as install_solc_versions -from solc_select.solc_select import installed_versions as get_installed_solc_versions +from solc_select import solc_select from slither import Slither from slither.detectors.abstract_detector import AbstractDetector @@ -35,7 +33,6 @@ class Test: # pylint: disable=too-few-public-methods """ self.detector = detector self.test_file = test_file - self.expected_result = test_file + "." + solc_ver + "." + detector.__name__ + ".json" self.solc_ver = solc_ver if additional_files is None: self.additional_files = [] @@ -46,6 +43,10 @@ class Test: # pylint: disable=too-few-public-methods def set_solc(test_item: Test): # pylint: disable=too-many-lines # hacky hack hack to pick the solc version we want env = dict(os.environ) + + if not solc_select.artifact_path(test_item.solc_ver).exists(): + print("Installing solc version", test_item.solc_ver) + solc_select.install_artifacts([test_item.solc_ver]) env["SOLC_VERSION"] = test_item.solc_ver os.environ.clear() os.environ.update(env) @@ -1640,108 +1641,58 @@ ALL_TEST_OBJECTS = [ ), ] - -def get_all_tests() -> List[Test]: - installed_solcs = set(get_installed_solc_versions()) - required_solcs = {test.solc_ver for test in ALL_TEST_OBJECTS} - missing_solcs = list(required_solcs - installed_solcs) - if missing_solcs: - install_solc_versions(missing_solcs) - - return ALL_TEST_OBJECTS - - -ALL_TESTS = get_all_tests() - GENERIC_PATH = "/GENERIC_PATH" +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -@pytest.mark.parametrize("test_item", ALL_TESTS, ids=id_test) -def test_detector(test_item: Test): - test_dir_path = pathlib.Path( - pathlib.Path().absolute(), - "tests", - "detectors", +# pylint: disable=too-many-locals +@pytest.mark.parametrize("test_item", ALL_TEST_OBJECTS, ids=id_test) +def test_detector(test_item: Test, snapshot): + test_dir_path = Path( + TEST_DATA_DIR, test_item.detector.ARGUMENT, test_item.solc_ver, - ) - test_file_path = str(pathlib.Path(test_dir_path, test_item.test_file)) - expected_result_path = str(pathlib.Path(test_dir_path, test_item.expected_result).absolute()) + ).as_posix() + test_file_path = Path(test_dir_path, test_item.test_file).as_posix() - set_solc(test_item) - sl = Slither(test_file_path) + zip_artifact_path = Path(f"{test_file_path}-{test_item.solc_ver}.zip").as_posix() + crytic_compile = load_from_zip(zip_artifact_path)[0] + + sl = Slither(crytic_compile) sl.register_detector(test_item.detector) results = sl.run_detectors() - with open(expected_result_path, encoding="utf8") as f: - expected_result = json.load(f) - - results_as_string = json.dumps(results) + actual_output = "" + for detector_result in results: + for result in detector_result: + actual_output += result["description"] + actual_output += "\n" + assert snapshot() == actual_output - for additional_file in test_item.additional_files: - additional_path = str(pathlib.Path(test_dir_path, additional_file).absolute()) - additional_path = additional_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(additional_path, GENERIC_PATH) - test_file_path = test_file_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(test_file_path, GENERIC_PATH) - results = json.loads(results_as_string) - diff = DeepDiff(results, expected_result, ignore_order=True, verbose_level=2) - if diff: - pprint(diff) - diff_as_dict = diff.to_dict() - - if "iterable_item_added" in diff_as_dict: - print("#### Findings added") - for finding_added in diff_as_dict["iterable_item_added"].values(): - print(finding_added["description"]) - if "iterable_item_removed" in diff_as_dict: - print("#### Findings removed") - for finding_added in diff_as_dict["iterable_item_removed"].values(): - print(finding_added["description"]) - assert False - - -def _generate_test(test_item: Test, skip_existing=False): - test_dir_path = pathlib.Path( - pathlib.Path().absolute(), - "tests", - "detectors", +def _generate_compile(test_item: Test, skip_existing=False): + test_dir_path = Path( + TEST_DATA_DIR, test_item.detector.ARGUMENT, test_item.solc_ver, - ) - test_file_path = str(pathlib.Path(test_dir_path, test_item.test_file)) - expected_result_path = str(pathlib.Path(test_dir_path, test_item.expected_result).absolute()) + ).as_posix() + test_file_path = Path(test_dir_path, test_item.test_file).as_posix() + zip_artifact_path = Path(f"{test_file_path}-{test_item.solc_ver}.zip").as_posix() if skip_existing: - if os.path.isfile(expected_result_path): + if os.path.isfile(zip_artifact_path): return set_solc(test_item) - sl = Slither(test_file_path) - sl.register_detector(test_item.detector) - results = sl.run_detectors() - - results_as_string = json.dumps(results) - test_file_path = test_file_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(test_file_path, GENERIC_PATH) - - for additional_file in test_item.additional_files: - additional_path = str(pathlib.Path(test_dir_path, additional_file).absolute()) - additional_path = additional_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(additional_path, GENERIC_PATH) - - results = json.loads(results_as_string) - with open(expected_result_path, "w", encoding="utf8") as f: - f.write(json.dumps(results, indent=4)) + crytic_compile = CryticCompile(test_file_path) + save_to_zip([crytic_compile], zip_artifact_path) if __name__ == "__main__": if len(sys.argv) != 2: - print("To generate the json artifacts run\n\tpython tests/test_detectors.py --generate") - elif sys.argv[1] == "--generate": - for next_test in ALL_TESTS: - _generate_test(next_test, skip_existing=True) - elif sys.argv[1] == "--overwrite": - for next_test in ALL_TESTS: - _generate_test(next_test) + print( + "To generate the zip artifacts run\n\tpython tests/e2e/tests/test_detectors.py --compile" + ) + elif sys.argv[1] == "--compile": + for next_test in ALL_TEST_OBJECTS: + _generate_compile(next_test, skip_existing=True) diff --git a/tests/possible_paths/paths.sol b/tests/e2e/printers/possible_paths/paths.sol similarity index 100% rename from tests/possible_paths/paths.sol rename to tests/e2e/printers/possible_paths/paths.sol diff --git a/tests/possible_paths/paths.txt b/tests/e2e/printers/possible_paths/paths.txt similarity index 100% rename from tests/possible_paths/paths.txt rename to tests/e2e/printers/possible_paths/paths.txt diff --git a/tests/e2e/solc_parsing/__init__.py b/tests/e2e/solc_parsing/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py similarity index 94% rename from tests/test_ast_parsing.py rename to tests/e2e/solc_parsing/test_ast_parsing.py index c783f827f..790f947cc 100644 --- a/tests/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -4,7 +4,7 @@ import re import sys from pathlib import Path from typing import List, Dict, Tuple - +from packaging.version import parse as parse_version import pytest from deepdiff import DeepDiff from solc_select.solc_select import install_artifacts as install_solc_versions @@ -15,8 +15,8 @@ from crytic_compile.utils.zip import load_from_zip from slither import Slither from slither.printers.guidance.echidna import Echidna -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "ast-parsing") +E2E_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +TEST_ROOT = os.path.join(E2E_ROOT, "solc_parsing", "test_data") # pylint: disable=too-few-public-methods @@ -32,8 +32,15 @@ class Test: flavors += ["legacy"] for version in solc_versions: for flavor in flavors: - if flavor == "legacy" and version > "0.8": - # No legacy for >0.8 + # No legacy AST format for >0.8 + legacy_unavailable = flavor == "legacy" and parse_version(version) >= parse_version( + "0.8" + ) + # No compact AST format for <0.4.12 + compact_unavailable = flavor == "compact" and parse_version( + version + ) < parse_version("0.4.12") + if legacy_unavailable or compact_unavailable: continue versions_with_flavors.append((version, flavor)) self.versions_with_flavors = versions_with_flavors @@ -421,6 +428,7 @@ ALL_TESTS = [ Test("user_defined_value_type/in_parenthesis-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("user_defined_value_type/top-level-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("user_defined_value_type/using-for-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), + Test("user_defined_value_type/abi-decode-fixed-array.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("bytes_call.sol", ["0.8.12"]), Test("modifier_identifier_path.sol", VERSIONS_08), Test("free_functions/libraries_from_free.sol", ["0.8.12"]), @@ -468,6 +476,15 @@ class TestASTParsing: cc = load_from_zip(actual)[0] + # Validate that the AST is in the expected format + for compiled in cc.compilation_units.values(): + for source in compiled.source_units.values(): + if source.ast: + if flavor == "compact": + assert "nodeType" in source.ast, "AST is not compact" + else: + assert "nodeType" not in source.ast, "AST is not legacy" + sl = Slither( cc, solc_force_legacy_json=flavor == "legacy", diff --git a/tests/ast-parsing/assembly-all.sol b/tests/e2e/solc_parsing/test_data/assembly-all.sol similarity index 100% rename from tests/ast-parsing/assembly-all.sol rename to tests/e2e/solc_parsing/test_data/assembly-all.sol diff --git a/tests/ast-parsing/assignment-0.4.0.sol b/tests/e2e/solc_parsing/test_data/assignment-0.4.0.sol similarity index 100% rename from tests/ast-parsing/assignment-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/assignment-0.4.0.sol diff --git a/tests/ast-parsing/assignment-0.4.7.sol b/tests/e2e/solc_parsing/test_data/assignment-0.4.7.sol similarity index 100% rename from tests/ast-parsing/assignment-0.4.7.sol rename to tests/e2e/solc_parsing/test_data/assignment-0.4.7.sol diff --git a/tests/ast-parsing/binaryoperation-0.4.0.sol b/tests/e2e/solc_parsing/test_data/binaryoperation-0.4.0.sol similarity index 100% rename from tests/ast-parsing/binaryoperation-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/binaryoperation-0.4.0.sol diff --git a/tests/ast-parsing/binaryoperation-0.4.7.sol b/tests/e2e/solc_parsing/test_data/binaryoperation-0.4.7.sol similarity index 100% rename from tests/ast-parsing/binaryoperation-0.4.7.sol rename to tests/e2e/solc_parsing/test_data/binaryoperation-0.4.7.sol diff --git a/tests/ast-parsing/break-all.sol b/tests/e2e/solc_parsing/test_data/break-all.sol similarity index 100% rename from tests/ast-parsing/break-all.sol rename to tests/e2e/solc_parsing/test_data/break-all.sol diff --git a/tests/ast-parsing/bytes_call.sol b/tests/e2e/solc_parsing/test_data/bytes_call.sol similarity index 100% rename from tests/ast-parsing/bytes_call.sol rename to tests/e2e/solc_parsing/test_data/bytes_call.sol diff --git a/tests/ast-parsing/call_to_variable-all.sol b/tests/e2e/solc_parsing/test_data/call_to_variable-all.sol similarity index 100% rename from tests/ast-parsing/call_to_variable-all.sol rename to tests/e2e/solc_parsing/test_data/call_to_variable-all.sol diff --git a/tests/ast-parsing/comment-all.sol b/tests/e2e/solc_parsing/test_data/comment-all.sol similarity index 100% rename from tests/ast-parsing/comment-all.sol rename to tests/e2e/solc_parsing/test_data/comment-all.sol diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..b6f791ad5 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/assembly-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..910a72f1f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..7cb3afb0d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..f962f5833 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/bytes_call.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/bytes_call.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/bytes_call.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/bytes_call.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..3b1c8f6ce Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..da744cc26 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..54ad75f61 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..7fbf94269 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..be4436447 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..20ced30c5 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..c78f73da9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..847fc5931 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..75dcf6646 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..000e3b45e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/new_operator.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/new_operator.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/new_operator.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/new_operator.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..654e6b1fd Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..f47b8e99b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..f58127a1c Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..0a4d7bd38 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip 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/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip 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/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..14b141b36 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..745e62e60 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/library_event-0.8.16.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_event-0.8.16.sol-0.8.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_event-0.8.16.sol-0.8.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_event-0.8.16.sol-0.8.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..5f940c825 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-compact.zip new file mode 100644 index 000000000..65715fcce Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..f4bf4dde3 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..00e016edd Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..9cfe55aed Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..c7ad152c8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..25d79d21e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..d00f99870 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..05692ba98 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..ca8bb6a1e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..edf72c250 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/ternary-with-max.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/ternary-with-max.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/ternary-with-max.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/ternary-with-max.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..23deb1c39 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..ed8fa925e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..8004dd0b8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..a45121c5d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..fd1b2a761 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..7aa97ee46 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..22cc7d3f4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip new file mode 100644 index 000000000..04dc217a8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip new file mode 100644 index 000000000..98b9166f8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip new file mode 100644 index 000000000..1d1c0d005 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip new file mode 100644 index 000000000..bf56ab75e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..9fb83735c Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip new file mode 100644 index 000000000..31185f085 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip new file mode 100644 index 000000000..fefebf953 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip new file mode 100644 index 000000000..7e933f54a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip new file mode 100644 index 000000000..bdc77a054 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip new file mode 100644 index 000000000..535eee60f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip new file mode 100644 index 000000000..0aaf77901 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip new file mode 100644 index 000000000..a2e2a572f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip new file mode 100644 index 000000000..c4e5af90a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip new file mode 100644 index 000000000..7714ee0b7 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip new file mode 100644 index 000000000..4ef7c1223 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip new file mode 100644 index 000000000..cba9d9bfc Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip new file mode 100644 index 000000000..280ea0cb7 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip new file mode 100644 index 000000000..c0cc8e78b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip new file mode 100644 index 000000000..673abac92 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip new file mode 100644 index 000000000..771129e32 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip new file mode 100644 index 000000000..51c0f9681 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip new file mode 100644 index 000000000..f5b5c42df Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip new file mode 100644 index 000000000..88aff80a4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip new file mode 100644 index 000000000..cb924170d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip new file mode 100644 index 000000000..9d14d911d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip new file mode 100644 index 000000000..ccc279cd0 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip new file mode 100644 index 000000000..6b17dc536 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip new file mode 100644 index 000000000..b3f89b2ae Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip new file mode 100644 index 000000000..cba7da5d9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip new file mode 100644 index 000000000..e4ac8a19d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip new file mode 100644 index 000000000..891d5f913 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip new file mode 100644 index 000000000..7149679b2 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip new file mode 100644 index 000000000..206861787 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip new file mode 100644 index 000000000..4ef93bb23 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip new file mode 100644 index 000000000..27260a030 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip new file mode 100644 index 000000000..c498a8bdb Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip new file mode 100644 index 000000000..d65e210f9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip new file mode 100644 index 000000000..b26c03eb9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip new file mode 100644 index 000000000..c5a704fb6 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip new file mode 100644 index 000000000..49077e685 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip new file mode 100644 index 000000000..3ff71cdcd Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip new file mode 100644 index 000000000..5e776960b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip new file mode 100644 index 000000000..c1b397d44 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip new file mode 100644 index 000000000..d5492e8fa Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip new file mode 100644 index 000000000..a87fa765d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip new file mode 100644 index 000000000..1e8fb2322 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip new file mode 100644 index 000000000..d08d17ad9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip new file mode 100644 index 000000000..c2523d0ef Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip new file mode 100644 index 000000000..f200540cc Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip new file mode 100644 index 000000000..a8b4fa3d4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip new file mode 100644 index 000000000..0362ca98e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip new file mode 100644 index 000000000..b545e28dc Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip new file mode 100644 index 000000000..5c3c4efcc Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip new file mode 100644 index 000000000..2ec0625dc Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip new file mode 100644 index 000000000..ab25dea09 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip new file mode 100644 index 000000000..2fa359b8f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip new file mode 100644 index 000000000..541aff8ff Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip new file mode 100644 index 000000000..c4a3d1605 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip new file mode 100644 index 000000000..7c528e303 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip new file mode 100644 index 000000000..f444facfe Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip new file mode 100644 index 000000000..9bcf0792d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip new file mode 100644 index 000000000..61f612c0f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip new file mode 100644 index 000000000..38c2151f6 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip new file mode 100644 index 000000000..e6128824a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip new file mode 100644 index 000000000..9970a0c0c Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip new file mode 100644 index 000000000..830603444 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip new file mode 100644 index 000000000..5837dbfa0 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip new file mode 100644 index 000000000..95af39dc5 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip new file mode 100644 index 000000000..79bded00a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip new file mode 100644 index 000000000..dc6252445 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip new file mode 100644 index 000000000..435879d6f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip new file mode 100644 index 000000000..a18bf4806 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip new file mode 100644 index 000000000..9e1426299 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip new file mode 100644 index 000000000..313f42d9b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip new file mode 100644 index 000000000..23f1086a7 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip new file mode 100644 index 000000000..11cce6bee Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip new file mode 100644 index 000000000..d4914cd63 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip new file mode 100644 index 000000000..4a326ed3e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip new file mode 100644 index 000000000..d5ebfb65c Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip new file mode 100644 index 000000000..0d43274b5 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip new file mode 100644 index 000000000..13f084017 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip new file mode 100644 index 000000000..75b36614e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip new file mode 100644 index 000000000..594e9e9c7 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip new file mode 100644 index 000000000..98f9966c4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip new file mode 100644 index 000000000..9d8cccf4e Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip new file mode 100644 index 000000000..31552b7ba Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip new file mode 100644 index 000000000..bb7f19c09 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip new file mode 100644 index 000000000..63f5fe216 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip new file mode 100644 index 000000000..4aadf9c7a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip new file mode 100644 index 000000000..ae0e01054 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip new file mode 100644 index 000000000..b3a3e5f5b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip new file mode 100644 index 000000000..4d9826cd3 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip new file mode 100644 index 000000000..ef7f69d5f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip new file mode 100644 index 000000000..33f6407ee Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip new file mode 100644 index 000000000..4c4f23bce Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip new file mode 100644 index 000000000..d2f2f503c Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip new file mode 100644 index 000000000..a3df5f240 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip new file mode 100644 index 000000000..8de85d76d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip new file mode 100644 index 000000000..ebbfcacbf Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip new file mode 100644 index 000000000..b23d71134 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip new file mode 100644 index 000000000..e21a9e5c0 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip new file mode 100644 index 000000000..61d5760ce Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip new file mode 100644 index 000000000..ad4b32aa4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip new file mode 100644 index 000000000..015644b04 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip new file mode 100644 index 000000000..2972f676a Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip new file mode 100644 index 000000000..680461aed Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip new file mode 100644 index 000000000..c6ebabb42 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip new file mode 100644 index 000000000..877ab7c58 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip new file mode 100644 index 000000000..fbee23563 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip new file mode 100644 index 000000000..01a12fb78 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip new file mode 100644 index 000000000..82b60acff Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip new file mode 100644 index 000000000..b9398a8fb Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip new file mode 100644 index 000000000..7b68beab6 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip new file mode 100644 index 000000000..3b0355258 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..9e6f24ec3 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..749f0f8c8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..e44cab126 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..4e6681f7f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip new file mode 100644 index 000000000..b65e511ef Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip new file mode 100644 index 000000000..c9a78fcea Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip new file mode 100644 index 000000000..1b69e8e3d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip new file mode 100644 index 000000000..5661f465d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip new file mode 100644 index 000000000..cf4950769 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip new file mode 100644 index 000000000..16236fd22 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip new file mode 100644 index 000000000..d574a7cb8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip differ diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-compact.zip new file mode 100644 index 000000000..0a20ecfc4 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-compact.zip new file mode 100644 index 000000000..42686a5ce Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-compact.zip new file mode 100644 index 000000000..f1c16756f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-compact.zip new file mode 100644 index 000000000..31fea6df8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.11-legacy.zip diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-compact.zip new file mode 100644 index 000000000..c2da7eb46 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-compact.zip differ diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-state-constant-access.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-state-constant-access.sol-0.8.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-state-constant-access.sol-0.8.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-state-constant-access.sol-0.8.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/complex_imports/FreeFuns.sol b/tests/e2e/solc_parsing/test_data/complex_imports/FreeFuns.sol similarity index 100% rename from tests/ast-parsing/complex_imports/FreeFuns.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/FreeFuns.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases/import.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/import.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases/import.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/import.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases/test.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/test.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases/test.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/test.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/import.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/import.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/import.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/import.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/test.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/test.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/test_fail.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test_fail.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/test_fail.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test_fail.sol diff --git a/tests/ast-parsing/complex_imports/import_free/Caller.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_free/Caller.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_free/Caller.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_free/Caller.sol diff --git a/tests/ast-parsing/conditional-all.sol b/tests/e2e/solc_parsing/test_data/conditional-all.sol similarity index 100% rename from tests/ast-parsing/conditional-all.sol rename to tests/e2e/solc_parsing/test_data/conditional-all.sol diff --git a/tests/ast-parsing/continue-all.sol b/tests/e2e/solc_parsing/test_data/continue-all.sol similarity index 100% rename from tests/ast-parsing/continue-all.sol rename to tests/e2e/solc_parsing/test_data/continue-all.sol diff --git a/tests/ast-parsing/contract-0.4.0.sol b/tests/e2e/solc_parsing/test_data/contract-0.4.0.sol similarity index 100% rename from tests/ast-parsing/contract-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/contract-0.4.0.sol diff --git a/tests/ast-parsing/contract-0.4.22.sol b/tests/e2e/solc_parsing/test_data/contract-0.4.22.sol similarity index 100% rename from tests/ast-parsing/contract-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/contract-0.4.22.sol diff --git a/tests/ast-parsing/contract-0.6.0.sol b/tests/e2e/solc_parsing/test_data/contract-0.6.0.sol similarity index 100% rename from tests/ast-parsing/contract-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/contract-0.6.0.sol diff --git a/tests/ast-parsing/custom-error-selector.sol b/tests/e2e/solc_parsing/test_data/custom-error-selector.sol similarity index 100% rename from tests/ast-parsing/custom-error-selector.sol rename to tests/e2e/solc_parsing/test_data/custom-error-selector.sol diff --git a/tests/ast-parsing/custom_error-0.4.0.sol b/tests/e2e/solc_parsing/test_data/custom_error-0.4.0.sol similarity index 100% rename from tests/ast-parsing/custom_error-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/custom_error-0.4.0.sol diff --git a/tests/ast-parsing/custom_error-0.8.4.sol b/tests/e2e/solc_parsing/test_data/custom_error-0.8.4.sol similarity index 100% rename from tests/ast-parsing/custom_error-0.8.4.sol rename to tests/e2e/solc_parsing/test_data/custom_error-0.8.4.sol diff --git a/tests/ast-parsing/custom_error_with_state_variable.sol b/tests/e2e/solc_parsing/test_data/custom_error_with_state_variable.sol similarity index 100% rename from tests/ast-parsing/custom_error_with_state_variable.sol rename to tests/e2e/solc_parsing/test_data/custom_error_with_state_variable.sol diff --git a/tests/ast-parsing/dowhile-0.4.0.sol b/tests/e2e/solc_parsing/test_data/dowhile-0.4.0.sol similarity index 100% rename from tests/ast-parsing/dowhile-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/dowhile-0.4.0.sol diff --git a/tests/ast-parsing/dowhile-0.4.5.sol b/tests/e2e/solc_parsing/test_data/dowhile-0.4.5.sol similarity index 100% rename from tests/ast-parsing/dowhile-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/dowhile-0.4.5.sol diff --git a/tests/ast-parsing/emit-0.4.0.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.0.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.0.sol diff --git a/tests/ast-parsing/emit-0.4.21.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.21.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.21.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.21.sol diff --git a/tests/ast-parsing/emit-0.4.8.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.8.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.8.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.8.sol diff --git a/tests/ast-parsing/emit-0.5.0.sol b/tests/e2e/solc_parsing/test_data/emit-0.5.0.sol similarity index 100% rename from tests/ast-parsing/emit-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/emit-0.5.0.sol diff --git a/tests/ast-parsing/enum-0.4.0.sol b/tests/e2e/solc_parsing/test_data/enum-0.4.0.sol similarity index 100% rename from tests/ast-parsing/enum-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/enum-0.4.0.sol diff --git a/tests/ast-parsing/enum-0.8.0.sol b/tests/e2e/solc_parsing/test_data/enum-0.8.0.sol similarity index 100% rename from tests/ast-parsing/enum-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/enum-0.8.0.sol diff --git a/tests/ast-parsing/event-all.sol b/tests/e2e/solc_parsing/test_data/event-all.sol similarity index 100% rename from tests/ast-parsing/event-all.sol rename to tests/e2e/solc_parsing/test_data/event-all.sol diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/assembly-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/bytes_call.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/bytes_call.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/bytes_call.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/bytes_call.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/conditional-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.18-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.18-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.19-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.19-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.20-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.20-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.21-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.21-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.22-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.22-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.23-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.23-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.24-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.24-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.25-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.25-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.26-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.26-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.4.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.5.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.6.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.7.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json similarity index 91% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/ast-parsing/expected/conditional-all.sol-0.8.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json @@ -1,5 +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" + "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->26[label=\"True\"];\n14->16[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.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/free_functions/new_operator.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/new_operator.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/new_operator.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/new_operator.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json 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/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json 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/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json 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/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/library_event-0.8.16.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_event-0.8.16.sol-0.8.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_event-0.8.16.sol-0.8.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_event-0.8.16.sol-0.8.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/ternary-with-max.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/ternary-with-max.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/ternary-with-max.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/ternary-with-max.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json new file mode 100644 index 000000000..ec0954baa --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-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;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\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.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.8-compact.json diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "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/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-1-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-1-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-1-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-1-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-3-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-3-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-3-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-3-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-4-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-4-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-4-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-4-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-global-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-global-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-global-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-global-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/yul-state-constant-access.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-state-constant-access.sol-0.8.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-state-constant-access.sol-0.8.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-state-constant-access.sol-0.8.16-compact.json diff --git a/tests/ast-parsing/for-all.sol b/tests/e2e/solc_parsing/test_data/for-all.sol similarity index 100% rename from tests/ast-parsing/for-all.sol rename to tests/e2e/solc_parsing/test_data/for-all.sol diff --git a/tests/ast-parsing/free_functions/libraries_from_free.sol b/tests/e2e/solc_parsing/test_data/free_functions/libraries_from_free.sol similarity index 100% rename from tests/ast-parsing/free_functions/libraries_from_free.sol rename to tests/e2e/solc_parsing/test_data/free_functions/libraries_from_free.sol diff --git a/tests/ast-parsing/free_functions/library_constant_function_collision.sol b/tests/e2e/solc_parsing/test_data/free_functions/library_constant_function_collision.sol similarity index 100% rename from tests/ast-parsing/free_functions/library_constant_function_collision.sol rename to tests/e2e/solc_parsing/test_data/free_functions/library_constant_function_collision.sol diff --git a/tests/ast-parsing/free_functions/new_operator.sol b/tests/e2e/solc_parsing/test_data/free_functions/new_operator.sol similarity index 100% rename from tests/ast-parsing/free_functions/new_operator.sol rename to tests/e2e/solc_parsing/test_data/free_functions/new_operator.sol diff --git a/tests/ast-parsing/function-0.4.0.sol b/tests/e2e/solc_parsing/test_data/function-0.4.0.sol similarity index 100% rename from tests/ast-parsing/function-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.0.sol diff --git a/tests/ast-parsing/function-0.4.16.sol b/tests/e2e/solc_parsing/test_data/function-0.4.16.sol similarity index 100% rename from tests/ast-parsing/function-0.4.16.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.16.sol diff --git a/tests/ast-parsing/function-0.4.22.sol b/tests/e2e/solc_parsing/test_data/function-0.4.22.sol similarity index 100% rename from tests/ast-parsing/function-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.22.sol diff --git a/tests/ast-parsing/function-0.4.23.sol b/tests/e2e/solc_parsing/test_data/function-0.4.23.sol similarity index 100% rename from tests/ast-parsing/function-0.4.23.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.23.sol diff --git a/tests/ast-parsing/function-0.5.0.sol b/tests/e2e/solc_parsing/test_data/function-0.5.0.sol similarity index 100% rename from tests/ast-parsing/function-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.5.0.sol diff --git a/tests/ast-parsing/function-0.6.0.sol b/tests/e2e/solc_parsing/test_data/function-0.6.0.sol similarity index 100% rename from tests/ast-parsing/function-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.6.0.sol diff --git a/tests/ast-parsing/function-0.7.0.sol b/tests/e2e/solc_parsing/test_data/function-0.7.0.sol similarity index 100% rename from tests/ast-parsing/function-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.7.0.sol diff --git a/tests/ast-parsing/function-0.7.1.sol b/tests/e2e/solc_parsing/test_data/function-0.7.1.sol similarity index 100% rename from tests/ast-parsing/function-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/function-0.7.1.sol diff --git a/tests/ast-parsing/functioncall-0.4.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.0.sol diff --git a/tests/ast-parsing/functioncall-0.4.22.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.22.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.22.sol diff --git a/tests/ast-parsing/functioncall-0.4.5.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.5.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.5.sol diff --git a/tests/ast-parsing/functioncall-0.5.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.5.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.5.0.sol diff --git a/tests/ast-parsing/functioncall-0.5.3.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.5.3.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.5.3.sol diff --git a/tests/ast-parsing/functioncall-0.6.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.0.sol diff --git a/tests/ast-parsing/functioncall-0.6.2.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.2.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.2.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.2.sol diff --git a/tests/ast-parsing/functioncall-0.6.8.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.8.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.8.sol diff --git a/tests/ast-parsing/functioncall-0.7.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.7.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.7.0.sol diff --git a/tests/ast-parsing/functioncall-0.8.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.8.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.8.0.sol diff --git a/tests/ast-parsing/helper/helper.sol b/tests/e2e/solc_parsing/test_data/helper/helper.sol similarity index 100% rename from tests/ast-parsing/helper/helper.sol rename to tests/e2e/solc_parsing/test_data/helper/helper.sol diff --git a/tests/ast-parsing/helper/import-1.sol b/tests/e2e/solc_parsing/test_data/helper/import-1.sol similarity index 100% rename from tests/ast-parsing/helper/import-1.sol rename to tests/e2e/solc_parsing/test_data/helper/import-1.sol diff --git a/tests/ast-parsing/helper/import-2.sol b/tests/e2e/solc_parsing/test_data/helper/import-2.sol similarity index 100% rename from tests/ast-parsing/helper/import-2.sol rename to tests/e2e/solc_parsing/test_data/helper/import-2.sol diff --git a/tests/ast-parsing/helper/interface_with_struct.sol b/tests/e2e/solc_parsing/test_data/helper/interface_with_struct.sol similarity index 100% rename from tests/ast-parsing/helper/interface_with_struct.sol rename to tests/e2e/solc_parsing/test_data/helper/interface_with_struct.sol diff --git a/tests/ast-parsing/helper/nested_import.sol b/tests/e2e/solc_parsing/test_data/helper/nested_import.sol similarity index 100% rename from tests/ast-parsing/helper/nested_import.sol rename to tests/e2e/solc_parsing/test_data/helper/nested_import.sol diff --git a/tests/ast-parsing/if-all.sol b/tests/e2e/solc_parsing/test_data/if-all.sol similarity index 100% rename from tests/ast-parsing/if-all.sol rename to tests/e2e/solc_parsing/test_data/if-all.sol diff --git a/tests/ast-parsing/import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/import-0.4.0.sol diff --git a/tests/ast-parsing/import-0.4.3.sol b/tests/e2e/solc_parsing/test_data/import-0.4.3.sol similarity index 100% rename from tests/ast-parsing/import-0.4.3.sol rename to tests/e2e/solc_parsing/test_data/import-0.4.3.sol diff --git a/tests/ast-parsing/import_interface_with_struct_from_top_level-0.4.0.sol b/tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.4.0.sol similarity index 100% rename from tests/ast-parsing/import_interface_with_struct_from_top_level-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.4.0.sol diff --git a/tests/ast-parsing/import_interface_with_struct_from_top_level-0.7.6.sol b/tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.7.6.sol similarity index 100% rename from tests/ast-parsing/import_interface_with_struct_from_top_level-0.7.6.sol rename to tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.7.6.sol diff --git a/tests/ast-parsing/indexaccess-all.sol b/tests/e2e/solc_parsing/test_data/indexaccess-all.sol similarity index 100% rename from tests/ast-parsing/indexaccess-all.sol rename to tests/e2e/solc_parsing/test_data/indexaccess-all.sol diff --git a/tests/ast-parsing/indexrangeaccess-0.4.0.sol b/tests/e2e/solc_parsing/test_data/indexrangeaccess-0.4.0.sol similarity index 100% rename from tests/ast-parsing/indexrangeaccess-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/indexrangeaccess-0.4.0.sol diff --git a/tests/ast-parsing/indexrangeaccess-0.6.1.sol b/tests/e2e/solc_parsing/test_data/indexrangeaccess-0.6.1.sol similarity index 100% rename from tests/ast-parsing/indexrangeaccess-0.6.1.sol rename to tests/e2e/solc_parsing/test_data/indexrangeaccess-0.6.1.sol diff --git a/tests/ast-parsing/library_event-0.8.16.sol b/tests/e2e/solc_parsing/test_data/library_event-0.8.16.sol similarity index 100% rename from tests/ast-parsing/library_event-0.8.16.sol rename to tests/e2e/solc_parsing/test_data/library_event-0.8.16.sol diff --git a/tests/ast-parsing/library_implicit_conversion-0.4.0.sol b/tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.4.0.sol similarity index 100% rename from tests/ast-parsing/library_implicit_conversion-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.4.0.sol diff --git a/tests/ast-parsing/library_implicit_conversion-0.5.0.sol b/tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.5.0.sol similarity index 100% rename from tests/ast-parsing/library_implicit_conversion-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.5.0.sol diff --git a/tests/ast-parsing/literal-0.4.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.4.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.4.0.sol diff --git a/tests/ast-parsing/literal-0.4.10.sol b/tests/e2e/solc_parsing/test_data/literal-0.4.10.sol similarity index 100% rename from tests/ast-parsing/literal-0.4.10.sol rename to tests/e2e/solc_parsing/test_data/literal-0.4.10.sol diff --git a/tests/ast-parsing/literal-0.5.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.5.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.5.0.sol diff --git a/tests/ast-parsing/literal-0.6.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.6.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.6.0.sol diff --git a/tests/ast-parsing/literal-0.7.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.7.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.7.0.sol diff --git a/tests/ast-parsing/memberaccess-0.4.0.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.4.0.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.4.0.sol diff --git a/tests/ast-parsing/memberaccess-0.5.14.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.5.14.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol diff --git a/tests/ast-parsing/memberaccess-0.5.3.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.5.3.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.5.3.sol diff --git a/tests/ast-parsing/memberaccess-0.6.7.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.7.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.6.7.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.6.7.sol diff --git a/tests/ast-parsing/memberaccess-0.6.8.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol diff --git a/tests/ast-parsing/minmax-0.4.0.sol b/tests/e2e/solc_parsing/test_data/minmax-0.4.0.sol similarity index 100% rename from tests/ast-parsing/minmax-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.4.0.sol diff --git a/tests/ast-parsing/minmax-0.6.8.sol b/tests/e2e/solc_parsing/test_data/minmax-0.6.8.sol similarity index 100% rename from tests/ast-parsing/minmax-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.6.8.sol diff --git a/tests/ast-parsing/minmax-0.8.8.sol b/tests/e2e/solc_parsing/test_data/minmax-0.8.8.sol similarity index 100% rename from tests/ast-parsing/minmax-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.8.8.sol diff --git a/tests/ast-parsing/modifier-0.7.0.sol b/tests/e2e/solc_parsing/test_data/modifier-0.7.0.sol similarity index 100% rename from tests/ast-parsing/modifier-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/modifier-0.7.0.sol diff --git a/tests/ast-parsing/modifier-all.sol b/tests/e2e/solc_parsing/test_data/modifier-all.sol similarity index 100% rename from tests/ast-parsing/modifier-all.sol rename to tests/e2e/solc_parsing/test_data/modifier-all.sol diff --git a/tests/ast-parsing/modifier_identifier_path.sol b/tests/e2e/solc_parsing/test_data/modifier_identifier_path.sol similarity index 100% rename from tests/ast-parsing/modifier_identifier_path.sol rename to tests/e2e/solc_parsing/test_data/modifier_identifier_path.sol diff --git a/tests/ast-parsing/newexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/newexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/newexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/newexpression-0.4.0.sol diff --git a/tests/ast-parsing/newexpression-0.5.0.sol b/tests/e2e/solc_parsing/test_data/newexpression-0.5.0.sol similarity index 100% rename from tests/ast-parsing/newexpression-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/newexpression-0.5.0.sol diff --git a/tests/ast-parsing/pragma-0.4.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.4.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.4.0.sol diff --git a/tests/ast-parsing/pragma-0.5.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.5.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.5.0.sol diff --git a/tests/ast-parsing/pragma-0.6.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.6.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.6.0.sol diff --git a/tests/ast-parsing/pragma-0.7.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.7.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.7.0.sol diff --git a/tests/ast-parsing/pragma-0.8.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.8.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.8.0.sol diff --git a/tests/ast-parsing/push-all.sol b/tests/e2e/solc_parsing/test_data/push-all.sol similarity index 100% rename from tests/ast-parsing/push-all.sol rename to tests/e2e/solc_parsing/test_data/push-all.sol diff --git a/tests/ast-parsing/return-all.sol b/tests/e2e/solc_parsing/test_data/return-all.sol similarity index 100% rename from tests/ast-parsing/return-all.sol rename to tests/e2e/solc_parsing/test_data/return-all.sol diff --git a/tests/ast-parsing/scope-0.4.0.sol b/tests/e2e/solc_parsing/test_data/scope-0.4.0.sol similarity index 100% rename from tests/ast-parsing/scope-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/scope-0.4.0.sol diff --git a/tests/ast-parsing/scope-0.5.0.sol b/tests/e2e/solc_parsing/test_data/scope-0.5.0.sol similarity index 100% rename from tests/ast-parsing/scope-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/scope-0.5.0.sol diff --git a/tests/ast-parsing/struct-0.4.0.sol b/tests/e2e/solc_parsing/test_data/struct-0.4.0.sol similarity index 100% rename from tests/ast-parsing/struct-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/struct-0.4.0.sol diff --git a/tests/ast-parsing/struct-0.6.0.sol b/tests/e2e/solc_parsing/test_data/struct-0.6.0.sol similarity index 100% rename from tests/ast-parsing/struct-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/struct-0.6.0.sol diff --git a/tests/ast-parsing/ternary-with-max.sol b/tests/e2e/solc_parsing/test_data/ternary-with-max.sol similarity index 100% rename from tests/ast-parsing/ternary-with-max.sol rename to tests/e2e/solc_parsing/test_data/ternary-with-max.sol diff --git a/tests/ast-parsing/throw-0.4.0.sol b/tests/e2e/solc_parsing/test_data/throw-0.4.0.sol similarity index 100% rename from tests/ast-parsing/throw-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/throw-0.4.0.sol diff --git a/tests/ast-parsing/throw-0.5.0.sol b/tests/e2e/solc_parsing/test_data/throw-0.5.0.sol similarity index 100% rename from tests/ast-parsing/throw-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/throw-0.5.0.sol diff --git a/tests/ast-parsing/top-level-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.4.0.sol diff --git a/tests/ast-parsing/top-level-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.7.1.sol diff --git a/tests/ast-parsing/top-level-0.7.4.sol b/tests/e2e/solc_parsing/test_data/top-level-0.7.4.sol similarity index 100% rename from tests/ast-parsing/top-level-0.7.4.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.7.4.sol diff --git a/tests/ast-parsing/top-level-import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-0.4.0.sol diff --git a/tests/ast-parsing/top-level-import-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-import-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-import-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-0.7.1.sol diff --git a/tests/ast-parsing/top-level-import-bis-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-import-bis-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-import-bis-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-bis-0.4.0.sol diff --git a/tests/ast-parsing/top-level-import-bis-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-import-bis-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-import-bis-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-bis-0.7.1.sol diff --git a/tests/ast-parsing/top-level-nested-import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-nested-import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-nested-import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-nested-import-0.4.0.sol diff --git a/tests/ast-parsing/top-level-nested-import-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-nested-import-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-nested-import-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-nested-import-0.7.1.sol diff --git a/tests/ast-parsing/top-level-struct-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top-level-struct-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top-level-struct-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-struct-0.8.0.sol diff --git a/tests/ast-parsing/top_level_variable-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable-0.4.0.sol diff --git a/tests/ast-parsing/top_level_variable-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable-0.8.0.sol diff --git a/tests/ast-parsing/top_level_variable2-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable2-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable2-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable2-0.4.0.sol diff --git a/tests/ast-parsing/top_level_variable2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable2-0.8.0.sol diff --git a/tests/ast-parsing/trycatch-0.4.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.4.0.sol similarity index 100% rename from tests/ast-parsing/trycatch-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/trycatch-0.4.0.sol diff --git a/tests/ast-parsing/trycatch-0.6.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol similarity index 85% rename from tests/ast-parsing/trycatch-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol index 68899e4a9..2c1e1e939 100644 --- a/tests/ast-parsing/trycatch-0.6.0.sol +++ b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol @@ -32,6 +32,14 @@ contract C { } catch { actualBalance = 0; } + + try ERC20(msg.sender).balanceOf(address(this)) returns (uint balance) { + uint c; + for (uint i; i < balance; i++) { + c++; + } + } catch { + } } function tryCatchContractDeployment() public { diff --git a/tests/ast-parsing/tupleexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.4.0.sol diff --git a/tests/ast-parsing/tupleexpression-0.4.24.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.4.24.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.4.24.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.4.24.sol diff --git a/tests/ast-parsing/tupleexpression-0.5.3.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.5.3.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.5.3.sol diff --git a/tests/ast-parsing/unaryexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/unaryexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/unaryexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/unaryexpression-0.4.0.sol diff --git a/tests/ast-parsing/unaryexpression-0.5.0.sol b/tests/e2e/solc_parsing/test_data/unaryexpression-0.5.0.sol similarity index 100% rename from tests/ast-parsing/unaryexpression-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/unaryexpression-0.5.0.sol diff --git a/tests/ast-parsing/unchecked-0.4.0.sol b/tests/e2e/solc_parsing/test_data/unchecked-0.4.0.sol similarity index 100% rename from tests/ast-parsing/unchecked-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/unchecked-0.4.0.sol diff --git a/tests/ast-parsing/unchecked-0.8.0.sol b/tests/e2e/solc_parsing/test_data/unchecked-0.8.0.sol similarity index 100% rename from tests/ast-parsing/unchecked-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/unchecked-0.8.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.4.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.4.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.4.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.5.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.5.4.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.4.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.5.4.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.4.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.6.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.6.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.6.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.7.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.7.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.7.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.12.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.12.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.12.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.12.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.4.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.4.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.4.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.4.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.7.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.7.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.7.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.7.sol diff --git a/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol new file mode 100644 index 000000000..14a59b5a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol @@ -0,0 +1,16 @@ +interface I {} +enum A {a,b} + +contract C { + I[6] interfaceArray; + A[6] enumArray; + + function test_decode_interface_array(bytes memory data) public { + interfaceArray = abi.decode(data, (I[6])); + } + + function test_decode_enum_array(bytes memory data) public { + enumArray = abi.decode(data, (A[6])); + } + +} diff --git a/tests/ast-parsing/user_defined_value_type/argument-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/argument-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/argument-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/argument-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/calldata-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/calldata-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/calldata-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/calldata-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/constant-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/constant-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/constant-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/constant-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/erc20-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/erc20-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/erc20-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/erc20-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/in_parenthesis-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/in_parenthesis-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/in_parenthesis-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/in_parenthesis-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/top-level-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/top-level-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/top-level-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/top-level-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/user_defined_types-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/user_defined_types-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/user_defined_types-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/user_defined_types-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/using-for-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/using-for-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/using-for-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/using-for-0.8.8.sol diff --git a/tests/ast-parsing/using-for-0.4.0.sol b/tests/e2e/solc_parsing/test_data/using-for-0.4.0.sol similarity index 100% rename from tests/ast-parsing/using-for-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-0.4.0.sol diff --git a/tests/ast-parsing/using-for-0.4.1.sol b/tests/e2e/solc_parsing/test_data/using-for-0.4.1.sol similarity index 100% rename from tests/ast-parsing/using-for-0.4.1.sol rename to tests/e2e/solc_parsing/test_data/using-for-0.4.1.sol diff --git a/tests/ast-parsing/using-for-1-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-1-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-1-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-1-0.8.0.sol diff --git a/tests/ast-parsing/using-for-2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-2-0.8.0.sol diff --git a/tests/ast-parsing/using-for-3-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-3-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-3-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-3-0.8.0.sol diff --git a/tests/ast-parsing/using-for-4-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-4-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-4-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-4-0.8.0.sol diff --git a/tests/ast-parsing/using-for-alias-contract-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-contract-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-contract-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-contract-0.8.0.sol diff --git a/tests/ast-parsing/using-for-alias-dep1.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-dep1.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-dep1.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-dep1.sol diff --git a/tests/ast-parsing/using-for-alias-dep2.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-dep2.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-dep2.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-dep2.sol diff --git a/tests/ast-parsing/using-for-alias-top-level-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-top-level-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-top-level-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-top-level-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-1-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-1-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-1-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-1-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-2-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-3-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-3-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-3-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-3-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-4-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-4-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-4-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-4-0.8.0.sol diff --git a/tests/ast-parsing/using-for-global-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-global-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-global-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-global-0.8.0.sol diff --git a/tests/ast-parsing/using-for-in-library-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-in-library-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-in-library-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-in-library-0.8.0.sol diff --git a/tests/ast-parsing/using-for-library-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-library-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-library-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-library-0.8.0.sol diff --git a/tests/ast-parsing/variable-0.4.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.0.sol diff --git a/tests/ast-parsing/variable-0.4.14.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.14.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.14.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.14.sol diff --git a/tests/ast-parsing/variable-0.4.16.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.16.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.16.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.16.sol diff --git a/tests/ast-parsing/variable-0.4.5.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.5.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.5.sol diff --git a/tests/ast-parsing/variable-0.5.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.5.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.5.0.sol diff --git a/tests/ast-parsing/variable-0.6.5.sol b/tests/e2e/solc_parsing/test_data/variable-0.6.5.sol similarity index 100% rename from tests/ast-parsing/variable-0.6.5.sol rename to tests/e2e/solc_parsing/test_data/variable-0.6.5.sol diff --git a/tests/ast-parsing/variable-0.6.9.sol b/tests/e2e/solc_parsing/test_data/variable-0.6.9.sol similarity index 100% rename from tests/ast-parsing/variable-0.6.9.sol rename to tests/e2e/solc_parsing/test_data/variable-0.6.9.sol diff --git a/tests/ast-parsing/variable-0.8.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.8.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.8.0.sol diff --git a/tests/ast-parsing/variabledeclaration-0.4.0.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.0.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.0.sol diff --git a/tests/ast-parsing/variabledeclaration-0.4.24.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.24.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.4.24.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.24.sol diff --git a/tests/ast-parsing/variabledeclaration-0.5.0.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.5.0.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.5.0.sol diff --git a/tests/ast-parsing/while-all.sol b/tests/e2e/solc_parsing/test_data/while-all.sol similarity index 100% rename from tests/ast-parsing/while-all.sol rename to tests/e2e/solc_parsing/test_data/while-all.sol diff --git a/tests/ast-parsing/yul-0.4.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.0.sol diff --git a/tests/ast-parsing/yul-0.4.1.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.1.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.1.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.1.sol diff --git a/tests/ast-parsing/yul-0.4.11.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.11.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.11.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.11.sol diff --git a/tests/ast-parsing/yul-0.7.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.7.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.7.0.sol diff --git a/tests/ast-parsing/yul-0.7.5.sol b/tests/e2e/solc_parsing/test_data/yul-0.7.5.sol similarity index 100% rename from tests/ast-parsing/yul-0.7.5.sol rename to tests/e2e/solc_parsing/test_data/yul-0.7.5.sol diff --git a/tests/ast-parsing/yul-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.8.0.sol diff --git a/tests/ast-parsing/yul-state-constant-access.sol b/tests/e2e/solc_parsing/test_data/yul-state-constant-access.sol similarity index 100% rename from tests/ast-parsing/yul-state-constant-access.sol rename to tests/e2e/solc_parsing/test_data/yul-state-constant-access.sol diff --git a/tests/ast-parsing/yul-top-level-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-top-level-0.8.0.sol similarity index 100% rename from tests/ast-parsing/yul-top-level-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/yul-top-level-0.8.0.sol diff --git a/tests/test_features.py b/tests/test_features.py deleted file mode 100644 index 68a21a884..000000000 --- a/tests/test_features.py +++ /dev/null @@ -1,204 +0,0 @@ -import inspect -from pathlib import Path - -from crytic_compile import CryticCompile -from crytic_compile.platform.solc_standard_json import SolcStandardJson -from solc_select import solc_select - -from slither import Slither -from slither.core.variables.state_variable import StateVariable -from slither.detectors import all_detectors -from slither.detectors.abstract_detector import AbstractDetector -from slither.slithir.operations import InternalCall, LibraryCall -from slither.utils.arithmetic import unchecked_arithemtic_usage - - -def _run_all_detectors(slither: Slither) -> None: - detectors = [getattr(all_detectors, name) for name in dir(all_detectors)] - detectors = [d for d in detectors if inspect.isclass(d) and issubclass(d, AbstractDetector)] - - for detector in detectors: - slither.register_detector(detector) - - slither.run_detectors() - - -def test_node() -> None: - # hardhat must have been installed in tests/test_node_modules - # For the CI its done through the github action config - - slither = Slither("./tests/test_node_modules") - _run_all_detectors(slither) - - -def test_collision() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - standard_json = SolcStandardJson() - standard_json.add_source_file("./tests/collisions/a.sol") - standard_json.add_source_file("./tests/collisions/b.sol") - - compilation = CryticCompile(standard_json) - slither = Slither(compilation) - - _run_all_detectors(slither) - - -def test_cycle() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither("./tests/test_cyclic_import/a.sol") - _run_all_detectors(slither) - - -def test_funcion_id_rec_structure() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither("./tests/function_ids/rec_struct-0.8.sol") - for compilation_unit in slither.compilation_units: - for function in compilation_unit.functions: - assert function.solidity_signature - - -def test_upgradeable_comments() -> None: - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither("./tests/custom_comments/upgrade.sol") - compilation_unit = slither.compilation_units[0] - proxy = compilation_unit.get_contract_from_name("Proxy")[0] - - assert proxy.is_upgradeable_proxy - - v0 = compilation_unit.get_contract_from_name("V0")[0] - - assert v0.is_upgradeable - print(v0.upgradeable_version) - assert v0.upgradeable_version == "version-0" - - v1 = compilation_unit.get_contract_from_name("V1")[0] - assert v0.is_upgradeable - assert v1.upgradeable_version == "version_1" - - -def test_contract_comments() -> None: - comments = " @title Test Contract\n @dev Test comment" - - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither("./tests/custom_comments/contract_comment.sol") - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - # Old solc versions have a different parsing of comments - # the initial space (after *) is also not kept on every line - comments = "@title Test Contract\n@dev Test comment" - solc_select.switch_global_version("0.5.16", always_install=True) - slither = Slither("./tests/custom_comments/contract_comment.sol") - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - # Test with legacy AST - comments = "@title Test Contract\n@dev Test comment" - solc_select.switch_global_version("0.5.16", always_install=True) - slither = Slither("./tests/custom_comments/contract_comment.sol", solc_force_legacy_json=True) - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - -def test_using_for_top_level_same_name() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-3-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint256)") - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "a": - return - assert False - - -def test_using_for_top_level_implicit_conversion() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-4-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint16)") - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "f": - return - assert False - - -def test_using_for_alias_top_level() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-alias-top-level-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint256)") - ok = False - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": - ok = True - if not ok: - assert False - topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") - for ir in topLevelCall.all_slithir_operations(): - if isinstance(ir, InternalCall) and ir.function_name == "a": - return - assert False - - -def test_using_for_alias_contract() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-alias-contract-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint256)") - ok = False - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": - ok = True - if not ok: - assert False - topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") - for ir in topLevelCall.all_slithir_operations(): - if isinstance(ir, InternalCall) and ir.function_name == "a": - return - assert False - - -def test_using_for_in_library() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-in-library-0.8.0.sol") - contract_c = slither.get_contract_from_name("A")[0] - libCall = contract_c.get_function_from_full_name("a(uint256)") - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "B" and ir.function_name == "b": - return - assert False - - -def test_private_variable() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/lookup/private_variable.sol") - contract_c = slither.get_contract_from_name("C")[0] - f = contract_c.functions[0] - var_read = f.variables_read[0] - assert isinstance(var_read, StateVariable) - assert str(var_read.contract) == "B" - - -def test_arithmetic_usage() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/arithmetic_usage/test.sol") - - assert { - f.source_mapping.content_hash for f in unchecked_arithemtic_usage(slither.contracts[0]) - } == {"2b4bc73cf59d486dd9043e840b5028b679354dd9", "e4ecd4d0fda7e762d29aceb8425f2c5d4d0bf962"} - - -def test_using_for_global_collision() -> None: - solc_select.switch_global_version("0.8.18", always_install=True) - standard_json = SolcStandardJson() - for source_file in Path("./tests/using-for-global-collision").rglob("*.sol"): - standard_json.add_source_file(Path(source_file).as_posix()) - compilation = CryticCompile(standard_json) - sl = Slither(compilation) - _run_all_detectors(sl) diff --git a/tests/test_function.py b/tests/test_function.py deleted file mode 100644 index ef6775d64..000000000 --- a/tests/test_function.py +++ /dev/null @@ -1,297 +0,0 @@ -""" -tests for `slither.core.declarations.Function`. -tests that `tests/test_function.sol` gets translated into correct -`slither.core.declarations.Function` objects or its subclasses -and that these objects behave correctly. -""" -from solc_select import solc_select - -from slither import Slither -from slither.core.declarations.function import FunctionType -from slither.core.solidity_types.elementary_type import ElementaryType - - -def test_functions(): - # pylint: disable=too-many-statements - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - functions = slither.get_contract_from_name("TestFunction")[0].available_functions_as_dict() - - f = functions["external_payable(uint256)"] - assert f.name == "external_payable" - assert f.full_name == "external_payable(uint256)" - assert f.canonical_name == "TestFunction.external_payable(uint256)" - assert f.solidity_signature == "external_payable(uint256)" - assert f.signature_str == "external_payable(uint256) returns(uint256)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_a" - assert f.parameters[0].type == ElementaryType("uint256") - assert f.return_type[0] == ElementaryType("uint256") - - f = functions["public_reenter()"] - assert f.name == "public_reenter" - assert f.full_name == "public_reenter()" - assert f.canonical_name == "TestFunction.public_reenter()" - assert f.solidity_signature == "public_reenter()" - assert f.signature_str == "public_reenter() returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type is None - - f = functions["public_payable_reenter_send(bool)"] - assert f.name == "public_payable_reenter_send" - assert f.full_name == "public_payable_reenter_send(bool)" - assert f.canonical_name == "TestFunction.public_payable_reenter_send(bool)" - assert f.solidity_signature == "public_payable_reenter_send(bool)" - assert f.signature_str == "public_payable_reenter_send(bool) returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is True - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_b" - assert f.parameters[0].type == ElementaryType("bool") - assert f.return_type is None - - f = functions["external_send(uint8)"] - assert f.name == "external_send" - assert f.full_name == "external_send(uint8)" - assert f.canonical_name == "TestFunction.external_send(uint8)" - assert f.solidity_signature == "external_send(uint8)" - assert f.signature_str == "external_send(uint8) returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is True - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_c" - assert f.parameters[0].type == ElementaryType("uint8") - assert f.return_type is None - - f = functions["internal_assembly(bytes)"] - assert f.name == "internal_assembly" - assert f.full_name == "internal_assembly(bytes)" - assert f.canonical_name == "TestFunction.internal_assembly(bytes)" - assert f.solidity_signature == "internal_assembly(bytes)" - assert f.signature_str == "internal_assembly(bytes) returns(uint256)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is True - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "internal" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_d" - assert f.parameters[0].type == ElementaryType("bytes") - assert f.return_type[0] == ElementaryType("uint256") - - f = functions["fallback()"] - assert f.name == "fallback" - assert f.full_name == "fallback()" - assert f.canonical_name == "TestFunction.fallback()" - assert f.solidity_signature == "fallback()" - assert f.signature_str == "fallback() returns()" - assert f.function_type == FunctionType.FALLBACK - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is True - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters == [] - assert f.return_type is None - - f = functions["receive()"] - assert f.name == "receive" - assert f.full_name == "receive()" - assert f.canonical_name == "TestFunction.receive()" - assert f.solidity_signature == "receive()" - assert f.signature_str == "receive() returns()" - assert f.function_type == FunctionType.RECEIVE - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is True - assert f.payable is True - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters == [] - assert f.return_type is None - - f = functions["constructor(address)"] - assert f.name == "constructor" - assert f.full_name == "constructor(address)" - assert f.canonical_name == "TestFunction.constructor(address)" - assert f.solidity_signature == "constructor(address)" - assert f.signature_str == "constructor(address) returns()" - assert f.function_type == FunctionType.CONSTRUCTOR - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters[0].name == "_e" - assert f.parameters[0].type == ElementaryType("address") - assert f.return_type is None - - f = functions["private_view()"] - assert f.name == "private_view" - assert f.full_name == "private_view()" - assert f.canonical_name == "TestFunction.private_view()" - assert f.solidity_signature == "private_view()" - assert f.signature_str == "private_view() returns(bool)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "private" - assert f.view is True - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type[0] == ElementaryType("bool") - - f = functions["public_pure()"] - assert f.name == "public_pure" - assert f.full_name == "public_pure()" - assert f.canonical_name == "TestFunction.public_pure()" - assert f.solidity_signature == "public_pure()" - assert f.signature_str == "public_pure() returns(bool)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "public" - assert f.view is True - assert f.pure is True - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type[0] == ElementaryType("bool") - - -def test_function_can_send_eth(): - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - compilation_unit = slither.compilation_units[0] - functions = compilation_unit.get_contract_from_name("TestFunctionCanSendEth")[ - 0 - ].available_functions_as_dict() - - assert functions["send_direct()"].can_send_eth() is True - assert functions["transfer_direct()"].can_send_eth() is True - assert functions["call_direct()"].can_send_eth() is True - assert functions["highlevel_call_direct()"].can_send_eth() is True - - assert functions["send_via_internal()"].can_send_eth() is True - assert functions["transfer_via_internal()"].can_send_eth() is True - assert functions["call_via_internal()"].can_send_eth() is True - assert functions["highlevel_call_via_internal()"].can_send_eth() is True - - assert functions["send_via_external()"].can_send_eth() is False - assert functions["transfer_via_external()"].can_send_eth() is False - assert functions["call_via_external()"].can_send_eth() is False - assert functions["highlevel_call_via_external()"].can_send_eth() is False - - -def test_reentrant(): - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither("tests/test_function_reentrant.sol") - compilation_unit = slither.compilation_units[0] - functions = compilation_unit.get_contract_from_name("TestReentrant")[ - 0 - ].available_functions_as_dict() - - assert functions["is_reentrant()"].is_reentrant - assert not functions["is_non_reentrant()"].is_reentrant - assert not functions["internal_and_not_reentrant()"].is_reentrant - assert not functions["internal_and_not_reentrant2()"].is_reentrant - assert functions["internal_and_could_be_reentrant()"].is_reentrant - assert functions["internal_and_reentrant()"].is_reentrant - - -def test_public_variable() -> None: - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - contracts = slither.get_contract_from_name("TestFunction") - assert len(contracts) == 1 - contract = contracts[0] - var = contract.get_state_variable_from_name("info") - assert var - assert var.solidity_signature == "info()" - assert var.signature_str == "info() returns(bytes32)" - assert var.visibility == "public" - assert var.type == ElementaryType("bytes32") diff --git a/tests/test_node_modules/hardhat.config.js b/tests/test_node_modules/hardhat.config.js deleted file mode 100644 index 54d19f565..000000000 --- a/tests/test_node_modules/hardhat.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - solidity: { - version: "0.8.0" - }, -} - diff --git a/tests/test_node_modules/package.json b/tests/test_node_modules/package.json deleted file mode 100644 index 8ca261783..000000000 --- a/tests/test_node_modules/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": { - "@openzeppelin/contracts": "^4.4.0", - "hardhat": "^2.7.0" - } -} diff --git a/tests/test_source_mapping.py b/tests/test_source_mapping.py deleted file mode 100644 index c5ff28c67..000000000 --- a/tests/test_source_mapping.py +++ /dev/null @@ -1,133 +0,0 @@ -from solc_select import solc_select - -from slither import Slither -from slither.core.declarations import Function - - -def test_source_mapping(): - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/src_mapping/inheritance.sol") - - # Check if A.f() is at the offset 27 - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 27) - print(functions) - assert len(functions) == 1 - function = functions.pop() - assert isinstance(function, Function) - assert function.canonical_name == "A.f()" - - # Only one definition for A.f() - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 27) - } == {(26, 28)} - # Only one reference for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 27) - } == {(92, 93)} - # Only one implementation for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 27) - } == {(17, 53)} - - # Check if C.f() is at the offset 203 - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 203) - assert len(functions) == 1 - function = functions.pop() - assert isinstance(function, Function) - assert function.canonical_name == "C.f()" - - # Only one definition for C.f() - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 203) - } == {(202, 204)} - # Two references for C.f(), in A.test() and C.test2() - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 203) - } == {(270, 271), (92, 93)} - # Only one implementation for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 203) - } == {(193, 230)} - - # Offset 93 is the call to f() in A.test() - # This can lead to three differents functions, depending on the current contract's context - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 93) - print(functions) - assert len(functions) == 3 - for function in functions: - assert isinstance(function, Function) - assert function.canonical_name in ["A.f()", "B.f()", "C.f()"] - - # There are three definitions possible (in A, B or C) - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 93) - } == {(26, 28), (202, 204), (138, 140)} - - # There are two references possible (in A.test() or C.test2() ) - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 93) - } == {(92, 93), (270, 271)} - - # There are three implementations possible (in A, B or C) - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 93) - } == {(17, 53), (193, 230), (129, 166)} - - -def _sort_references_lines(refs: list) -> list: - return sorted([ref.lines[0] for ref in refs]) - - -def _test_references_user_defined_aliases(): - """ - Tests if references are filled correctly for user defined aliases (declared using "type [...] is [...]" statement). - """ - solc_select.switch_global_version("0.8.16", always_install=True) - slither = Slither("tests/src_mapping/ReferencesUserDefinedAliases.sol") - - alias_top_level = slither.compilation_units[0].user_defined_value_types["aliasTopLevel"] - assert len(alias_top_level.references) == 2 - lines = _sort_references_lines(alias_top_level.references) - assert lines == [12, 16] - - alias_contract_level = ( - slither.compilation_units[0] - .contracts[0] - .file_scope.user_defined_types["C.aliasContractLevel"] - ) - assert len(alias_contract_level.references) == 2 - lines = _sort_references_lines(alias_contract_level.references) - assert lines == [13, 16] - - -def _test_references_user_defined_types_when_casting(): - """ - Tests if references are filled correctly for user defined types in case of casting. - """ - solc_select.switch_global_version("0.8.16", always_install=True) - slither = Slither("tests/src_mapping/ReferencesUserDefinedTypesCasting.sol") - - contracts = slither.compilation_units[0].contracts - a = contracts[0] if contracts[0].is_interface else contracts[1] - assert len(a.references) == 2 - lines = _sort_references_lines(a.references) - assert lines == [12, 18] - - -def test_references(): - """ - Tests if references list is filled correctly in the following cases: - - user defined aliases (declared using "type [...] is [...]" statement) - - user defined types in case of casting (TypeConversion expressions) - """ - _test_references_user_defined_aliases() - _test_references_user_defined_types_when_casting() diff --git a/tests/test_storage_layout.py b/tests/test_storage_layout.py deleted file mode 100644 index 525cd3b47..000000000 --- a/tests/test_storage_layout.py +++ /dev/null @@ -1,39 +0,0 @@ -import json -import os -import subprocess -from subprocess import PIPE, Popen - -from slither import Slither - -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STORAGE_TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "storage-layout") - -# the storage layout has not yet changed between solidity versions so we will test with one version of the compiler - - -def test_storage_layout(): - subprocess.run(["solc-select", "use", "0.8.10"], stdout=subprocess.PIPE, check=True) - - test_item = os.path.join(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol") - - sl = Slither(test_item, solc_force_legacy_json=False, disallow_partial=True) - - with Popen(["solc", test_item, "--storage-layout"], stdout=PIPE) as process: - for line in process.stdout: # parse solc output - if '{"storage":[{' in line.decode("utf-8"): # find the storage layout - layout = iter(json.loads(line)["storage"]) - while True: - try: - for contract in sl.contracts: - curr_var = next(layout) - var_name = curr_var["label"] - sl_name = contract.variables_as_dict[var_name] - slot, offset = contract.compilation_unit.storage_layout_of( - contract, sl_name - ) - assert slot == int(curr_var["slot"]) - assert offset == int(curr_var["offset"]) - except StopIteration: - break - except KeyError as e: - print(f"not found {e} ") diff --git a/tests/tools/__init__.py b/tests/tools/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/check-erc/erc20.sol b/tests/tools/check-erc/erc20.sol similarity index 100% rename from tests/check-erc/erc20.sol rename to tests/tools/check-erc/erc20.sol diff --git a/tests/check-erc/test_1.txt b/tests/tools/check-erc/test_1.txt similarity index 100% rename from tests/check-erc/test_1.txt rename to tests/tools/check-erc/test_1.txt diff --git a/tests/check-kspec/safeAdd/safeAdd.sol b/tests/tools/check-kspec/safeAdd/safeAdd.sol similarity index 100% rename from tests/check-kspec/safeAdd/safeAdd.sol rename to tests/tools/check-kspec/safeAdd/safeAdd.sol diff --git a/tests/check-kspec/safeAdd/spec.md b/tests/tools/check-kspec/safeAdd/spec.md similarity index 100% rename from tests/check-kspec/safeAdd/spec.md rename to tests/tools/check-kspec/safeAdd/spec.md diff --git a/tests/check-kspec/test_1.txt b/tests/tools/check-kspec/test_1.txt similarity index 100% rename from tests/check-kspec/test_1.txt rename to tests/tools/check-kspec/test_1.txt diff --git a/tests/check-upgradeability/contractV1.sol b/tests/tools/check-upgradeability/contractV1.sol similarity index 100% rename from tests/check-upgradeability/contractV1.sol rename to tests/tools/check-upgradeability/contractV1.sol diff --git a/tests/check-upgradeability/contractV1_struct.sol b/tests/tools/check-upgradeability/contractV1_struct.sol similarity index 100% rename from tests/check-upgradeability/contractV1_struct.sol rename to tests/tools/check-upgradeability/contractV1_struct.sol diff --git a/tests/check-upgradeability/contractV2.sol b/tests/tools/check-upgradeability/contractV2.sol similarity index 100% rename from tests/check-upgradeability/contractV2.sol rename to tests/tools/check-upgradeability/contractV2.sol diff --git a/tests/check-upgradeability/contractV2_bug.sol b/tests/tools/check-upgradeability/contractV2_bug.sol similarity index 100% rename from tests/check-upgradeability/contractV2_bug.sol rename to tests/tools/check-upgradeability/contractV2_bug.sol diff --git a/tests/check-upgradeability/contractV2_bug2.sol b/tests/tools/check-upgradeability/contractV2_bug2.sol similarity index 100% rename from tests/check-upgradeability/contractV2_bug2.sol rename to tests/tools/check-upgradeability/contractV2_bug2.sol diff --git a/tests/check-upgradeability/contractV2_struct.sol b/tests/tools/check-upgradeability/contractV2_struct.sol similarity index 100% rename from tests/check-upgradeability/contractV2_struct.sol rename to tests/tools/check-upgradeability/contractV2_struct.sol diff --git a/tests/check-upgradeability/contractV2_struct_bug.sol b/tests/tools/check-upgradeability/contractV2_struct_bug.sol similarity index 100% rename from tests/check-upgradeability/contractV2_struct_bug.sol rename to tests/tools/check-upgradeability/contractV2_struct_bug.sol diff --git a/tests/check-upgradeability/contract_initialization.sol b/tests/tools/check-upgradeability/contract_initialization.sol similarity index 100% rename from tests/check-upgradeability/contract_initialization.sol rename to tests/tools/check-upgradeability/contract_initialization.sol diff --git a/tests/check-upgradeability/contract_v1_var_init.sol b/tests/tools/check-upgradeability/contract_v1_var_init.sol similarity index 100% rename from tests/check-upgradeability/contract_v1_var_init.sol rename to tests/tools/check-upgradeability/contract_v1_var_init.sol diff --git a/tests/check-upgradeability/contract_v2_constant.sol b/tests/tools/check-upgradeability/contract_v2_constant.sol similarity index 100% rename from tests/check-upgradeability/contract_v2_constant.sol rename to tests/tools/check-upgradeability/contract_v2_constant.sol diff --git a/tests/check-upgradeability/proxy.sol b/tests/tools/check-upgradeability/proxy.sol similarity index 100% rename from tests/check-upgradeability/proxy.sol rename to tests/tools/check-upgradeability/proxy.sol diff --git a/tests/check-upgradeability/test_1.txt b/tests/tools/check-upgradeability/test_1.txt similarity index 100% rename from tests/check-upgradeability/test_1.txt rename to tests/tools/check-upgradeability/test_1.txt diff --git a/tests/check-upgradeability/test_10.txt b/tests/tools/check-upgradeability/test_10.txt similarity index 100% rename from tests/check-upgradeability/test_10.txt rename to tests/tools/check-upgradeability/test_10.txt diff --git a/tests/check-upgradeability/test_11.txt b/tests/tools/check-upgradeability/test_11.txt similarity index 100% rename from tests/check-upgradeability/test_11.txt rename to tests/tools/check-upgradeability/test_11.txt diff --git a/tests/check-upgradeability/test_12.txt b/tests/tools/check-upgradeability/test_12.txt similarity index 100% rename from tests/check-upgradeability/test_12.txt rename to tests/tools/check-upgradeability/test_12.txt diff --git a/tests/check-upgradeability/test_13.txt b/tests/tools/check-upgradeability/test_13.txt similarity index 100% rename from tests/check-upgradeability/test_13.txt rename to tests/tools/check-upgradeability/test_13.txt diff --git a/tests/check-upgradeability/test_2.txt b/tests/tools/check-upgradeability/test_2.txt similarity index 100% rename from tests/check-upgradeability/test_2.txt rename to tests/tools/check-upgradeability/test_2.txt diff --git a/tests/check-upgradeability/test_3.txt b/tests/tools/check-upgradeability/test_3.txt similarity index 100% rename from tests/check-upgradeability/test_3.txt rename to tests/tools/check-upgradeability/test_3.txt diff --git a/tests/check-upgradeability/test_4.txt b/tests/tools/check-upgradeability/test_4.txt similarity index 100% rename from tests/check-upgradeability/test_4.txt rename to tests/tools/check-upgradeability/test_4.txt diff --git a/tests/check-upgradeability/test_5.txt b/tests/tools/check-upgradeability/test_5.txt similarity index 100% rename from tests/check-upgradeability/test_5.txt rename to tests/tools/check-upgradeability/test_5.txt diff --git a/tests/check-upgradeability/test_6.txt b/tests/tools/check-upgradeability/test_6.txt similarity index 100% rename from tests/check-upgradeability/test_6.txt rename to tests/tools/check-upgradeability/test_6.txt diff --git a/tests/check-upgradeability/test_7.txt b/tests/tools/check-upgradeability/test_7.txt similarity index 100% rename from tests/check-upgradeability/test_7.txt rename to tests/tools/check-upgradeability/test_7.txt diff --git a/tests/check-upgradeability/test_8.txt b/tests/tools/check-upgradeability/test_8.txt similarity index 100% rename from tests/check-upgradeability/test_8.txt rename to tests/tools/check-upgradeability/test_8.txt diff --git a/tests/check-upgradeability/test_9.txt b/tests/tools/check-upgradeability/test_9.txt similarity index 100% rename from tests/check-upgradeability/test_9.txt rename to tests/tools/check-upgradeability/test_9.txt diff --git a/tests/flat/file1.sol b/tests/tools/flat/file1.sol similarity index 100% rename from tests/flat/file1.sol rename to tests/tools/flat/file1.sol diff --git a/tests/flat/file2.sol b/tests/tools/flat/file2.sol similarity index 100% rename from tests/flat/file2.sol rename to tests/tools/flat/file2.sol diff --git a/tests/tools/read-storage/__init__.py b/tests/tools/read-storage/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/storage-layout/StorageLayout.abi b/tests/tools/read-storage/test_data/StorageLayout.abi similarity index 100% rename from tests/storage-layout/StorageLayout.abi rename to tests/tools/read-storage/test_data/StorageLayout.abi diff --git a/tests/storage-layout/StorageLayout.bin b/tests/tools/read-storage/test_data/StorageLayout.bin similarity index 100% rename from tests/storage-layout/StorageLayout.bin rename to tests/tools/read-storage/test_data/StorageLayout.bin diff --git a/tests/storage-layout/TEST_storage_layout.json b/tests/tools/read-storage/test_data/TEST_storage_layout.json similarity index 100% rename from tests/storage-layout/TEST_storage_layout.json rename to tests/tools/read-storage/test_data/TEST_storage_layout.json diff --git a/tests/storage-layout/storage_layout-0.8.10.sol b/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol similarity index 100% rename from tests/storage-layout/storage_layout-0.8.10.sol rename to tests/tools/read-storage/test_data/storage_layout-0.8.10.sol diff --git a/tests/test_read_storage.py b/tests/tools/read-storage/test_read_storage.py similarity index 86% rename from tests/test_read_storage.py rename to tests/tools/read-storage/test_read_storage.py index 7aec6ff40..6d2ab007d 100644 --- a/tests/test_read_storage.py +++ b/tests/tools/read-storage/test_read_storage.py @@ -1,9 +1,9 @@ import json -import os import re import shutil import subprocess from time import sleep +from pathlib import Path from typing import Generator import pytest @@ -14,8 +14,7 @@ from web3.contract import Contract from slither import Slither from slither.tools.read_storage import SlitherReadStorage -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STORAGE_TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "storage-layout") +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" # pylint: disable=too-few-public-methods class GanacheInstance: @@ -91,17 +90,19 @@ def deploy_contract(w3, ganache, contract_bin, contract_abi) -> Contract: # pylint: disable=too-many-locals @pytest.mark.usefixtures("web3", "ganache") -def test_read_storage(web3, ganache) -> None: +def test_read_storage(web3, ganache, solc_binary_path) -> None: + solc_path = solc_binary_path(version="0.8.10") + assert web3.is_connected() - bin_path = os.path.join(STORAGE_TEST_ROOT, "StorageLayout.bin") - abi_path = os.path.join(STORAGE_TEST_ROOT, "StorageLayout.abi") + bin_path = Path(TEST_DATA_DIR, "StorageLayout.bin").as_posix() + abi_path = Path(TEST_DATA_DIR, "StorageLayout.abi").as_posix() bytecode = get_source_file(bin_path) abi = get_source_file(abi_path) contract = deploy_contract(web3, ganache, bytecode, abi) contract.functions.store().transact({"from": ganache.eth_address}) address = contract.address - sl = Slither(os.path.join(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol")) + sl = Slither(Path(TEST_DATA_DIR, "storage_layout-0.8.10.sol").as_posix(), solc=solc_path) contracts = sl.contracts srs = SlitherReadStorage(contracts, 100) @@ -110,12 +111,12 @@ def test_read_storage(web3, ganache) -> None: srs.get_all_storage_variables() srs.get_storage_layout() srs.walk_slot_info(srs.get_slot_values) - with open("storage_layout.json", "w", encoding="utf-8") as file: + actual_file = Path(TEST_DATA_DIR, "storage_layout.json").as_posix() + with open(actual_file, "w", encoding="utf-8") as file: slot_infos_json = srs.to_json() json.dump(slot_infos_json, file, indent=4) - expected_file = os.path.join(STORAGE_TEST_ROOT, "TEST_storage_layout.json") - actual_file = os.path.join(SLITHER_ROOT, "storage_layout.json") + expected_file = Path(TEST_DATA_DIR, "TEST_storage_layout.json").as_posix() with open(expected_file, "r", encoding="utf8") as f: expected = json.load(f) diff --git a/tests/simil/test_1.txt b/tests/tools/simil/test_1.txt similarity index 100% rename from tests/simil/test_1.txt rename to tests/tools/simil/test_1.txt diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/unit/core/__init__.py b/tests/unit/core/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/unit/core/test_arithmetic.py b/tests/unit/core/test_arithmetic.py new file mode 100644 index 000000000..6de63d767 --- /dev/null +++ b/tests/unit/core/test_arithmetic.py @@ -0,0 +1,16 @@ +from pathlib import Path + +from slither import Slither +from slither.utils.arithmetic import unchecked_arithemtic_usage + + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "arithmetic_usage" + + +def test_arithmetic_usage(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither(Path(TEST_DATA_DIR, "test.sol").as_posix(), solc=solc_path) + + assert { + f.source_mapping.content_hash for f in unchecked_arithemtic_usage(slither.contracts[0]) + } == {"2b4bc73cf59d486dd9043e840b5028b679354dd9", "e4ecd4d0fda7e762d29aceb8425f2c5d4d0bf962"} diff --git a/tests/unit/core/test_code_comments.py b/tests/unit/core/test_code_comments.py new file mode 100644 index 000000000..a943591dc --- /dev/null +++ b/tests/unit/core/test_code_comments.py @@ -0,0 +1,63 @@ +from pathlib import Path + +from slither import Slither + + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +CUSTOM_COMMENTS_TEST_DATA_DIR = Path(TEST_DATA_DIR, "custom_comments") + + +def test_upgradeable_comments(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.10") + slither = Slither(Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "upgrade.sol").as_posix(), solc=solc_path) + compilation_unit = slither.compilation_units[0] + proxy = compilation_unit.get_contract_from_name("Proxy")[0] + + assert proxy.is_upgradeable_proxy + + v0 = compilation_unit.get_contract_from_name("V0")[0] + + assert v0.is_upgradeable + print(v0.upgradeable_version) + assert v0.upgradeable_version == "version-0" + + v1 = compilation_unit.get_contract_from_name("V1")[0] + assert v0.is_upgradeable + assert v1.upgradeable_version == "version_1" + + +def test_contract_comments(solc_binary_path) -> None: + comments = " @title Test Contract\n @dev Test comment" + + solc_path = solc_binary_path("0.8.10") + slither = Slither( + Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), solc=solc_path + ) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments + + # Old solc versions have a different parsing of comments + # the initial space (after *) is also not kept on every line + comments = "@title Test Contract\n@dev Test comment" + solc_path = solc_binary_path("0.5.16") + slither = Slither( + Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), solc=solc_path + ) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments + + # Test with legacy AST + comments = "@title Test Contract\n@dev Test comment" + slither = Slither( + Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), + solc_force_legacy_json=True, + solc=solc_path, + ) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments diff --git a/tests/test_constant_folding.py b/tests/unit/core/test_constant_folding.py similarity index 83% rename from tests/test_constant_folding.py rename to tests/unit/core/test_constant_folding.py index 21517ddc4..489b4e0ec 100644 --- a/tests/test_constant_folding.py +++ b/tests/unit/core/test_constant_folding.py @@ -1,13 +1,22 @@ +from pathlib import Path from slither import Slither from slither.visitors.expression.constants_folding import ConstantFolding +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +CONSTANT_FOLDING_TEST_ROOT = Path(TEST_DATA_DIR, "constant_folding") -def test_constant_folding_unary(): - Slither("./tests/constant_folding_unary.sol") +def test_constant_folding_unary(solc_binary_path): + solc_path = solc_binary_path("0.8.0") + file = Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_unary.sol").as_posix() + Slither(file, solc=solc_path) -def test_constant_folding_rational(): - s = Slither("./tests/constant_folding_rational.sol") + +def test_constant_folding_rational(solc_binary_path): + solc_path = solc_binary_path("0.8.0") + s = Slither( + Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_rational.sol").as_posix(), solc=solc_path + ) contract = s.get_contract_from_name("C")[0] variable_a = contract.get_state_variable_from_name("a") @@ -45,8 +54,11 @@ def test_constant_folding_rational(): assert str(ConstantFolding(variable_g.expression, "int64").result()) == "-7" -def test_constant_folding_binary_expressions(): - sl = Slither("./tests/constant_folding_binop.sol") +def test_constant_folding_binary_expressions(solc_binary_path): + sl = Slither( + Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_binop.sol").as_posix(), + solc=solc_binary_path("0.8.0"), + ) contract = sl.get_contract_from_name("BinOp")[0] variable_a = contract.get_state_variable_from_name("a") diff --git a/tests/unit/core/test_contract_declaration.py b/tests/unit/core/test_contract_declaration.py new file mode 100644 index 000000000..28d0fae55 --- /dev/null +++ b/tests/unit/core/test_contract_declaration.py @@ -0,0 +1,53 @@ +from pathlib import Path + + +from slither import Slither +from slither.core.variables.state_variable import StateVariable + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +CONTRACT_DECL_TEST_ROOT = Path(TEST_DATA_DIR, "contract_declaration") + + +def test_abstract_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "abstract.sol").as_posix(), solc=solc_path) + assert not slither.contracts[0].is_fully_implemented + + solc_path = solc_binary_path("0.5.0") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "implicit_abstract.sol").as_posix(), solc=solc_path + ) + assert not slither.contracts[0].is_fully_implemented + + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "implicit_abstract.sol").as_posix(), + solc_force_legacy_json=True, + solc=solc_path, + ) + assert not slither.contracts[0].is_fully_implemented + + +def test_concrete_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "concrete.sol").as_posix(), solc=solc_path) + assert slither.contracts[0].is_fully_implemented + + solc_path = solc_binary_path("0.5.0") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "concrete_old.sol").as_posix(), + solc_force_legacy_json=True, + solc=solc_path, + ) + assert slither.contracts[0].is_fully_implemented + + +def test_private_variable(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "private_variable.sol").as_posix(), solc=solc_path + ) + contract_c = slither.get_contract_from_name("C")[0] + f = contract_c.functions[0] + var_read = f.variables_read[0] + assert isinstance(var_read, StateVariable) + assert str(var_read.contract) == "B" diff --git a/tests/arithmetic_usage/test.sol b/tests/unit/core/test_data/arithmetic_usage/test.sol similarity index 100% rename from tests/arithmetic_usage/test.sol rename to tests/unit/core/test_data/arithmetic_usage/test.sol diff --git a/tests/complex_func.sol b/tests/unit/core/test_data/complex_func.sol similarity index 100% rename from tests/complex_func.sol rename to tests/unit/core/test_data/complex_func.sol diff --git a/tests/constant_folding_binop.sol b/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol similarity index 100% rename from tests/constant_folding_binop.sol rename to tests/unit/core/test_data/constant_folding/constant_folding_binop.sol diff --git a/tests/constant_folding_rational.sol b/tests/unit/core/test_data/constant_folding/constant_folding_rational.sol similarity index 100% rename from tests/constant_folding_rational.sol rename to tests/unit/core/test_data/constant_folding/constant_folding_rational.sol diff --git a/tests/constant_folding_unary.sol b/tests/unit/core/test_data/constant_folding/constant_folding_unary.sol similarity index 100% rename from tests/constant_folding_unary.sol rename to tests/unit/core/test_data/constant_folding/constant_folding_unary.sol diff --git a/tests/unit/core/test_data/contract_declaration/abstract.sol b/tests/unit/core/test_data/contract_declaration/abstract.sol new file mode 100644 index 000000000..b29f683c4 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/abstract.sol @@ -0,0 +1,5 @@ +pragma solidity ^0.8.0; + +abstract contract ExplicitAbstract{ + function f() virtual public; +} diff --git a/tests/unit/core/test_data/contract_declaration/concrete.sol b/tests/unit/core/test_data/contract_declaration/concrete.sol new file mode 100644 index 000000000..602f50b20 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/concrete.sol @@ -0,0 +1,9 @@ +pragma solidity ^0.8.0; + +contract Concrete { + uint256 public value; + + function setValue(uint256 newValue) public { + value = newValue; + } +} diff --git a/tests/unit/core/test_data/contract_declaration/concrete_old.sol b/tests/unit/core/test_data/contract_declaration/concrete_old.sol new file mode 100644 index 000000000..c291e19af --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/concrete_old.sol @@ -0,0 +1,13 @@ +pragma solidity ^0.5.0; + +contract ConcreteOld { + uint256 public myNumber; + + constructor(uint256 initialNumber) public { + myNumber = initialNumber; + } + + function setNumber(uint256 newNumber) public { + myNumber = newNumber; + } +} diff --git a/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol b/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol new file mode 100644 index 000000000..c46ccd821 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol @@ -0,0 +1,5 @@ +pragma solidity ^0.5.0; + +contract ImplicitAbstract{ + function f() public; +} \ No newline at end of file diff --git a/tests/lookup/private_variable.sol b/tests/unit/core/test_data/contract_declaration/private_variable.sol similarity index 100% rename from tests/lookup/private_variable.sol rename to tests/unit/core/test_data/contract_declaration/private_variable.sol diff --git a/tests/custom_comments/contract_comment.sol b/tests/unit/core/test_data/custom_comments/contract_comment.sol similarity index 100% rename from tests/custom_comments/contract_comment.sol rename to tests/unit/core/test_data/custom_comments/contract_comment.sol diff --git a/tests/custom_comments/upgrade.sol b/tests/unit/core/test_data/custom_comments/upgrade.sol similarity index 100% rename from tests/custom_comments/upgrade.sol rename to tests/unit/core/test_data/custom_comments/upgrade.sol diff --git a/tests/deprecated_calls.sol b/tests/unit/core/test_data/deprecated_calls.sol similarity index 100% rename from tests/deprecated_calls.sol rename to tests/unit/core/test_data/deprecated_calls.sol diff --git a/tests/unit/core/test_data/fallback.sol b/tests/unit/core/test_data/fallback.sol new file mode 100644 index 000000000..cd7dc1812 --- /dev/null +++ b/tests/unit/core/test_data/fallback.sol @@ -0,0 +1,29 @@ +pragma solidity ^0.6.12; + +contract FakeFallback { + mapping(address => uint) public contributions; + address payable public owner; + + constructor() public { + owner = payable(msg.sender); + contributions[msg.sender] = 1000 * (1 ether); + } + + function fallback() public payable { + contributions[msg.sender] += msg.value; + } + + function receive() public payable { + contributions[msg.sender] += msg.value; + } +} + +contract Fallback is FakeFallback { + receive() external payable { + contributions[msg.sender] += msg.value; + } + + fallback() external payable { + contributions[msg.sender] += msg.value; + } +} diff --git a/tests/test_function.sol b/tests/unit/core/test_data/function_declaration/test_function.sol similarity index 100% rename from tests/test_function.sol rename to tests/unit/core/test_data/function_declaration/test_function.sol diff --git a/tests/test_function_reentrant.sol b/tests/unit/core/test_data/function_declaration/test_function_reentrant.sol similarity index 100% rename from tests/test_function_reentrant.sol rename to tests/unit/core/test_data/function_declaration/test_function_reentrant.sol diff --git a/tests/inheritance_graph.sol b/tests/unit/core/test_data/inheritance_graph.sol similarity index 100% rename from tests/inheritance_graph.sol rename to tests/unit/core/test_data/inheritance_graph.sol diff --git a/tests/source_mapping.sol b/tests/unit/core/test_data/source_mapping.sol similarity index 100% rename from tests/source_mapping.sol rename to tests/unit/core/test_data/source_mapping.sol diff --git a/tests/src_mapping/ReferencesUserDefinedAliases.sol b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol similarity index 100% rename from tests/src_mapping/ReferencesUserDefinedAliases.sol rename to tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol diff --git a/tests/src_mapping/ReferencesUserDefinedTypesCasting.sol b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol similarity index 100% rename from tests/src_mapping/ReferencesUserDefinedTypesCasting.sol rename to tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol diff --git a/tests/src_mapping/inheritance.sol b/tests/unit/core/test_data/src_mapping/inheritance.sol similarity index 100% rename from tests/src_mapping/inheritance.sol rename to tests/unit/core/test_data/src_mapping/inheritance.sol diff --git a/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol new file mode 100644 index 000000000..28d1428eb --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol @@ -0,0 +1,74 @@ +// overwrite abi and bin: +// solc tests/storage-layout/storage_layout-0.8.10.sol --abi --bin -o tests/storage-layout --overwrite +contract StorageLayout { + uint248 packedUint = 1; + bool packedBool = true; + + struct PackedStruct { + bool b; + uint248 a; + } + PackedStruct _packedStruct = PackedStruct(packedBool, packedUint); + + mapping (uint => PackedStruct) mappingPackedStruct; + mapping (address => mapping (uint => PackedStruct)) deepMappingPackedStruct; + mapping (address => mapping (uint => bool)) deepMappingElementaryTypes; + mapping (address => PackedStruct[]) mappingDynamicArrayOfStructs; + + address _address; + string _string = "slither-read-storage"; + uint8 packedUint8 = 8; + bytes8 packedBytes = "aaaaaaaa"; + + enum Enum { + a, + b, + c + } + Enum _enumA = Enum.a; + Enum _enumB = Enum.b; + Enum _enumC = Enum.c; + + uint256[3] fixedArray; + uint256[3][] dynamicArrayOfFixedArrays; + uint[][3] fixedArrayofDynamicArrays; + uint[][] multidimensionalArray; + PackedStruct[] dynamicArrayOfStructs; + PackedStruct[3] fixedArrayOfStructs; + + function store() external { + require(_address == address(0)); + _address = msg.sender; + + mappingPackedStruct[packedUint] = _packedStruct; + + deepMappingPackedStruct[_address][packedUint] = _packedStruct; + + deepMappingElementaryTypes[_address][1] = true; + deepMappingElementaryTypes[_address][2] = true; + + fixedArray = [1, 2, 3]; + + dynamicArrayOfFixedArrays.push(fixedArray); + dynamicArrayOfFixedArrays.push([4, 5, 6]); + + fixedArrayofDynamicArrays[0].push(7); + fixedArrayofDynamicArrays[1].push(8); + fixedArrayofDynamicArrays[1].push(9); + fixedArrayofDynamicArrays[2].push(10); + fixedArrayofDynamicArrays[2].push(11); + fixedArrayofDynamicArrays[2].push(12); + + multidimensionalArray.push([13]); + multidimensionalArray.push([14, 15]); + multidimensionalArray.push([16, 17, 18]); + + dynamicArrayOfStructs.push(_packedStruct); + dynamicArrayOfStructs.push(PackedStruct(false, 10)); + fixedArrayOfStructs[0] = _packedStruct; + fixedArrayOfStructs[1] = PackedStruct(false, 10); + + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[0]); + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[1]); + } +} diff --git a/tests/taint_mapping.sol b/tests/unit/core/test_data/taint_mapping.sol similarity index 100% rename from tests/taint_mapping.sol rename to tests/unit/core/test_data/taint_mapping.sol diff --git a/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol new file mode 100644 index 000000000..1da4f3dc6 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol @@ -0,0 +1,27 @@ +using {a} for Data; + +struct Data { mapping(uint => bool) flags; } + +function a(Data storage self, uint value, uint value2) returns(bool){ + return false; +} + +library Lib { + function a(Data storage self, uint value) public + view + returns (bool) + { + return true; + } + +} + +contract C { + using Lib for Data; + Data knownValues; + + function libCall(uint value) public { + require(knownValues.a(value)); + } + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol new file mode 100644 index 000000000..d50e107a4 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol @@ -0,0 +1,25 @@ +using {f} for St; +struct St { uint field; } + + +function f(St storage self, uint8 v) view returns(uint){ + return 0; +} + + +library Lib { + function f(St storage self, uint256 v) public view returns (uint) { + return 1; + } + +} + +contract C { + using Lib for St; + St st; + + function libCall(uint16 v) public view returns(uint){ + return st.f(v); // return 1 + } + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol new file mode 100644 index 000000000..d6906d5ab --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol @@ -0,0 +1,14 @@ +import "./using-for-alias-dep1.sol"; + +contract C { + using {T3.a, T3.Lib.b} for uint256; + + function topLevel(uint256 value) public { + value.a(); + } + + function libCall(uint256 value) public { + value.b(); + } + +} diff --git a/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol b/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol new file mode 100644 index 000000000..db28e4a71 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol @@ -0,0 +1,11 @@ +import "./using-for-alias-dep2.sol" as T3; + +function b(uint256 value) returns(bool) { + return true; +} + +library Lib { + function a(uint256 value) public returns(bool) { + return true; + } +} diff --git a/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol b/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol new file mode 100644 index 000000000..17ff96452 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol @@ -0,0 +1,9 @@ +function a(uint256 value) returns(bool) { + return true; +} + +library Lib { + function b(uint256 value) public returns(bool) { + return true; + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol new file mode 100644 index 000000000..ed7e22bac --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol @@ -0,0 +1,15 @@ +import "./using-for-alias-dep1.sol"; + +using {T3.a, T3.Lib.b} for uint256; + +contract C { + + function topLevel(uint256 value) public { + value.a(); + } + + function libCall(uint256 value) public { + value.b(); + } + +} diff --git a/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol new file mode 100644 index 000000000..0e8f6a6b9 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol @@ -0,0 +1,14 @@ + +library A { + using B for uint256; + + function a(uint256 v) public view returns (uint) { + return v.b(); + } +} + +library B { + function b(uint256 v) public view returns (uint) { + return 1; + } +} diff --git a/tests/using-for-global-collision/src/MyTypeA.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeA.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol diff --git a/tests/using-for-global-collision/src/MyTypeA/Casting.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeA/Casting.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol diff --git a/tests/using-for-global-collision/src/MyTypeA/Math.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeA/Math.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol diff --git a/tests/using-for-global-collision/src/MyTypeA/Type.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeA/Type.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol diff --git a/tests/using-for-global-collision/src/MyTypeB.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeB.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol diff --git a/tests/using-for-global-collision/src/MyTypeB/Casting.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeB/Casting.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol diff --git a/tests/using-for-global-collision/src/MyTypeB/Math.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeB/Math.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol diff --git a/tests/using-for-global-collision/src/MyTypeB/Type.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol similarity index 100% rename from tests/using-for-global-collision/src/MyTypeB/Type.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol diff --git a/tests/using-for-global-collision/src/Test.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol similarity index 100% rename from tests/using-for-global-collision/src/Test.sol rename to tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol diff --git a/tests/unit/core/test_fallback_receive.py b/tests/unit/core/test_fallback_receive.py new file mode 100644 index 000000000..9b00c5948 --- /dev/null +++ b/tests/unit/core/test_fallback_receive.py @@ -0,0 +1,19 @@ +from pathlib import Path + +from slither import Slither +from slither.core.declarations.function import FunctionType + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + + +def test_fallback_receive(solc_binary_path): + solc_path = solc_binary_path("0.6.12") + file = Path(TEST_DATA_DIR, "fallback.sol").as_posix() + slither = Slither(file, solc=solc_path) + fake_fallback = slither.get_contract_from_name("FakeFallback")[0] + real_fallback = slither.get_contract_from_name("Fallback")[0] + + assert fake_fallback.fallback_function is None + assert fake_fallback.receive_function is None + assert real_fallback.fallback_function.function_type == FunctionType.FALLBACK + assert real_fallback.receive_function.function_type == FunctionType.RECEIVE diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py new file mode 100644 index 000000000..651f449de --- /dev/null +++ b/tests/unit/core/test_function_declaration.py @@ -0,0 +1,304 @@ +""" +tests for `slither.core.declarations.Function`. +tests that `tests/test_function.sol` gets translated into correct +`slither.core.declarations.Function` objects or its subclasses +and that these objects behave correctly. +""" +from pathlib import Path + +from slither import Slither +from slither.core.declarations.function import FunctionType +from slither.core.solidity_types.elementary_type import ElementaryType + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +FUNC_DELC_TEST_ROOT = Path(TEST_DATA_DIR, "function_declaration") + + +def test_functions(solc_binary_path): + # pylint: disable=too-many-statements + solc_path = solc_binary_path("0.6.12") + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file, solc=solc_path) + functions = slither.get_contract_from_name("TestFunction")[0].available_functions_as_dict() + + f = functions["external_payable(uint256)"] + assert f.name == "external_payable" + assert f.full_name == "external_payable(uint256)" + assert f.canonical_name == "TestFunction.external_payable(uint256)" + assert f.solidity_signature == "external_payable(uint256)" + assert f.signature_str == "external_payable(uint256) returns(uint256)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_a" + assert f.parameters[0].type == ElementaryType("uint256") + assert f.return_type[0] == ElementaryType("uint256") + + f = functions["public_reenter()"] + assert f.name == "public_reenter" + assert f.full_name == "public_reenter()" + assert f.canonical_name == "TestFunction.public_reenter()" + assert f.solidity_signature == "public_reenter()" + assert f.signature_str == "public_reenter() returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type is None + + f = functions["public_payable_reenter_send(bool)"] + assert f.name == "public_payable_reenter_send" + assert f.full_name == "public_payable_reenter_send(bool)" + assert f.canonical_name == "TestFunction.public_payable_reenter_send(bool)" + assert f.solidity_signature == "public_payable_reenter_send(bool)" + assert f.signature_str == "public_payable_reenter_send(bool) returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is True + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_b" + assert f.parameters[0].type == ElementaryType("bool") + assert f.return_type is None + + f = functions["external_send(uint8)"] + assert f.name == "external_send" + assert f.full_name == "external_send(uint8)" + assert f.canonical_name == "TestFunction.external_send(uint8)" + assert f.solidity_signature == "external_send(uint8)" + assert f.signature_str == "external_send(uint8) returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is True + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_c" + assert f.parameters[0].type == ElementaryType("uint8") + assert f.return_type is None + + f = functions["internal_assembly(bytes)"] + assert f.name == "internal_assembly" + assert f.full_name == "internal_assembly(bytes)" + assert f.canonical_name == "TestFunction.internal_assembly(bytes)" + assert f.solidity_signature == "internal_assembly(bytes)" + assert f.signature_str == "internal_assembly(bytes) returns(uint256)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is True + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "internal" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_d" + assert f.parameters[0].type == ElementaryType("bytes") + assert f.return_type[0] == ElementaryType("uint256") + + f = functions["fallback()"] + assert f.name == "fallback" + assert f.full_name == "fallback()" + assert f.canonical_name == "TestFunction.fallback()" + assert f.solidity_signature == "fallback()" + assert f.signature_str == "fallback() returns()" + assert f.function_type == FunctionType.FALLBACK + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is True + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters == [] + assert f.return_type is None + + f = functions["receive()"] + assert f.name == "receive" + assert f.full_name == "receive()" + assert f.canonical_name == "TestFunction.receive()" + assert f.solidity_signature == "receive()" + assert f.signature_str == "receive() returns()" + assert f.function_type == FunctionType.RECEIVE + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is True + assert f.payable is True + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters == [] + assert f.return_type is None + + f = functions["constructor(address)"] + assert f.name == "constructor" + assert f.full_name == "constructor(address)" + assert f.canonical_name == "TestFunction.constructor(address)" + assert f.solidity_signature == "constructor(address)" + assert f.signature_str == "constructor(address) returns()" + assert f.function_type == FunctionType.CONSTRUCTOR + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters[0].name == "_e" + assert f.parameters[0].type == ElementaryType("address") + assert f.return_type is None + + f = functions["private_view()"] + assert f.name == "private_view" + assert f.full_name == "private_view()" + assert f.canonical_name == "TestFunction.private_view()" + assert f.solidity_signature == "private_view()" + assert f.signature_str == "private_view() returns(bool)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "private" + assert f.view is True + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type[0] == ElementaryType("bool") + + f = functions["public_pure()"] + assert f.name == "public_pure" + assert f.full_name == "public_pure()" + assert f.canonical_name == "TestFunction.public_pure()" + assert f.solidity_signature == "public_pure()" + assert f.signature_str == "public_pure() returns(bool)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "public" + assert f.view is True + assert f.pure is True + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type[0] == ElementaryType("bool") + + +def test_function_can_send_eth(solc_binary_path): + solc_path = solc_binary_path("0.6.12") + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file, solc=solc_path) + compilation_unit = slither.compilation_units[0] + functions = compilation_unit.get_contract_from_name("TestFunctionCanSendEth")[ + 0 + ].available_functions_as_dict() + + assert functions["send_direct()"].can_send_eth() is True + assert functions["transfer_direct()"].can_send_eth() is True + assert functions["call_direct()"].can_send_eth() is True + assert functions["highlevel_call_direct()"].can_send_eth() is True + + assert functions["send_via_internal()"].can_send_eth() is True + assert functions["transfer_via_internal()"].can_send_eth() is True + assert functions["call_via_internal()"].can_send_eth() is True + assert functions["highlevel_call_via_internal()"].can_send_eth() is True + + assert functions["send_via_external()"].can_send_eth() is False + assert functions["transfer_via_external()"].can_send_eth() is False + assert functions["call_via_external()"].can_send_eth() is False + assert functions["highlevel_call_via_external()"].can_send_eth() is False + + +def test_reentrant(solc_binary_path): + solc_path = solc_binary_path("0.8.10") + file = Path(FUNC_DELC_TEST_ROOT, "test_function_reentrant.sol").as_posix() + slither = Slither(file, solc=solc_path) + compilation_unit = slither.compilation_units[0] + functions = compilation_unit.get_contract_from_name("TestReentrant")[ + 0 + ].available_functions_as_dict() + + assert functions["is_reentrant()"].is_reentrant + assert not functions["is_non_reentrant()"].is_reentrant + assert not functions["internal_and_not_reentrant()"].is_reentrant + assert not functions["internal_and_not_reentrant2()"].is_reentrant + assert functions["internal_and_could_be_reentrant()"].is_reentrant + assert functions["internal_and_reentrant()"].is_reentrant + + +def test_public_variable(solc_binary_path) -> None: + solc_path = solc_binary_path("0.6.12") + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file, solc=solc_path) + contracts = slither.get_contract_from_name("TestFunction") + assert len(contracts) == 1 + contract = contracts[0] + var = contract.get_state_variable_from_name("info") + assert var + assert var.solidity_signature == "info()" + assert var.signature_str == "info() returns(bytes32)" + assert var.visibility == "public" + assert var.type == ElementaryType("bytes32") diff --git a/tests/unit/core/test_source_mapping.py b/tests/unit/core/test_source_mapping.py new file mode 100644 index 000000000..fe5335977 --- /dev/null +++ b/tests/unit/core/test_source_mapping.py @@ -0,0 +1,115 @@ +from pathlib import Path + +from slither import Slither +from slither.core.declarations import Function + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +SRC_MAPPING_TEST_ROOT = Path(TEST_DATA_DIR, "src_mapping") + + +def test_source_mapping(solc_binary_path): + solc_path = solc_binary_path("0.6.12") + file = Path(SRC_MAPPING_TEST_ROOT, "inheritance.sol").as_posix() + slither = Slither(file, solc=solc_path) + + # Check if A.f() is at the offset 27 + functions = slither.offset_to_objects(file, 27) + assert len(functions) == 1 + function = functions.pop() + assert isinstance(function, Function) + assert function.canonical_name == "A.f()" + + # Only one definition for A.f() + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 27)} == {(26, 28)} + # Only one reference for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_references(file, 27)} == {(92, 93)} + # Only one implementation for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 27)} == {(17, 53)} + + # Check if C.f() is at the offset 203 + functions = slither.offset_to_objects(file, 203) + assert len(functions) == 1 + function = functions.pop() + assert isinstance(function, Function) + assert function.canonical_name == "C.f()" + + # Only one definition for C.f() + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 203)} == {(202, 204)} + # Two references for C.f(), in A.test() and C.test2() + assert {(x.start, x.end) for x in slither.offset_to_references(file, 203)} == { + (270, 271), + (92, 93), + } + # Only one implementation for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 203)} == {(193, 230)} + + # Offset 93 is the call to f() in A.test() + # This can lead to three differents functions, depending on the current contract's context + functions = slither.offset_to_objects(file, 93) + print(functions) + assert len(functions) == 3 + for function in functions: + assert isinstance(function, Function) + assert function.canonical_name in ["A.f()", "B.f()", "C.f()"] + + # There are three definitions possible (in A, B or C) + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 93)} == { + (26, 28), + (202, 204), + (138, 140), + } + + # There are two references possible (in A.test() or C.test2() ) + assert {(x.start, x.end) for x in slither.offset_to_references(file, 93)} == { + (92, 93), + (270, 271), + } + + # There are three implementations possible (in A, B or C) + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 93)} == { + (17, 53), + (193, 230), + (129, 166), + } + + +def _sort_references_lines(refs: list) -> list: + return sorted([ref.lines[0] for ref in refs]) + + +def test_references_user_defined_aliases(solc_binary_path): + """ + Tests if references are filled correctly for user defined aliases (declared using "type [...] is [...]" statement). + """ + solc_path = solc_binary_path("0.8.16") + file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedAliases.sol").as_posix() + slither = Slither(file, solc=solc_path) + + alias_top_level = slither.compilation_units[0].user_defined_value_types["aliasTopLevel"] + assert len(alias_top_level.references) == 2 + lines = _sort_references_lines(alias_top_level.references) + assert lines == [12, 16] + + alias_contract_level = ( + slither.compilation_units[0] + .contracts[0] + .file_scope.user_defined_types["C.aliasContractLevel"] + ) + assert len(alias_contract_level.references) == 2 + lines = _sort_references_lines(alias_contract_level.references) + assert lines == [13, 16] + + +def test_references_user_defined_types_when_casting(solc_binary_path): + """ + Tests if references are filled correctly for user defined types in case of casting. + """ + solc_path = solc_binary_path("0.8.16") + file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedTypesCasting.sol").as_posix() + slither = Slither(file, solc=solc_path) + + contracts = slither.compilation_units[0].contracts + a = contracts[0] if contracts[0].is_interface else contracts[1] + assert len(a.references) == 2 + lines = _sort_references_lines(a.references) + assert lines == [12, 18] diff --git a/tests/unit/core/test_storage_layout.py b/tests/unit/core/test_storage_layout.py new file mode 100644 index 000000000..3337eb0f7 --- /dev/null +++ b/tests/unit/core/test_storage_layout.py @@ -0,0 +1,37 @@ +import json +from pathlib import Path +from subprocess import PIPE, Popen +from slither import Slither + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +STORAGE_TEST_ROOT = Path(TEST_DATA_DIR, "storage_layout") + + +def test_storage_layout(solc_binary_path): + # the storage layout has not yet changed between solidity versions so we will test with one version of the compiler + solc_path = solc_binary_path("0.8.10") + test_item = Path(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol").as_posix() + + sl = Slither(test_item, disallow_partial=True, solc=solc_path) + + with Popen([solc_path, test_item, "--storage-layout"], stdout=PIPE) as process: + for line in process.stdout: # parse solc output + if '{"storage":[{' in line.decode("utf-8"): # find the storage layout + layout = iter(json.loads(line)["storage"]) + while True: + try: + for contract in sl.contracts: + curr_var = next(layout) + var_name = curr_var["label"] + sl_name = contract.variables_as_dict[var_name] + slot, offset = contract.compilation_unit.storage_layout_of( + contract, sl_name + ) + assert slot == int(curr_var["slot"]) + assert offset == int(curr_var["offset"]) + except StopIteration: + break + except KeyError as e: + print(f"not found {e} ") + process.communicate() + assert process.returncode == 0 diff --git a/tests/unit/core/test_using_for.py b/tests/unit/core/test_using_for.py new file mode 100644 index 000000000..ebba72eef --- /dev/null +++ b/tests/unit/core/test_using_for.py @@ -0,0 +1,102 @@ +from pathlib import Path +from crytic_compile import CryticCompile +from crytic_compile.platform.solc_standard_json import SolcStandardJson + +from slither import Slither +from slither.slithir.operations import InternalCall, LibraryCall + +from tests.utils import _run_all_detectors + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +USING_FOR_TEST_DATA_DIR = Path(TEST_DATA_DIR, "using_for") + + +def test_using_for_global_collision(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + standard_json = SolcStandardJson() + for source_file in Path(USING_FOR_TEST_DATA_DIR, "using_for_global_collision").rglob("*.sol"): + standard_json.add_source_file(Path(source_file).as_posix()) + compilation = CryticCompile(standard_json, solc=solc_path) + sl = Slither(compilation) + _run_all_detectors(sl) + + +def test_using_for_top_level_same_name(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-3-0.8.0.sol").as_posix(), solc=solc_path + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint256)") + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "a": + return + assert False + + +def test_using_for_top_level_implicit_conversion(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-4-0.8.0.sol").as_posix(), solc=solc_path + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint16)") + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "f": + return + assert False + + +def test_using_for_alias_top_level(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-top-level-0.8.0.sol").as_posix(), + solc=solc_path, + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint256)") + ok = False + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": + ok = True + if not ok: + assert False + topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") + for ir in topLevelCall.all_slithir_operations(): + if isinstance(ir, InternalCall) and ir.function_name == "a": + return + assert False + + +def test_using_for_alias_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-contract-0.8.0.sol").as_posix(), + solc=solc_path, + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint256)") + ok = False + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": + ok = True + if not ok: + assert False + topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") + for ir in topLevelCall.all_slithir_operations(): + if isinstance(ir, InternalCall) and ir.function_name == "a": + return + assert False + + +def test_using_for_in_library(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-in-library-0.8.0.sol").as_posix(), solc=solc_path + ) + contract_c = slither.get_contract_from_name("A")[0] + libCall = contract_c.get_function_from_full_name("a(uint256)") + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "B" and ir.function_name == "b": + return + assert False diff --git a/tests/unit/slithir/__init__.py b/tests/unit/slithir/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/slithir/operation_reads.sol b/tests/unit/slithir/test_data/operation_reads.sol similarity index 100% rename from tests/slithir/operation_reads.sol rename to tests/unit/slithir/test_data/operation_reads.sol diff --git a/tests/slithir/ternary_expressions.sol b/tests/unit/slithir/test_data/ternary_expressions.sol similarity index 94% rename from tests/slithir/ternary_expressions.sol rename to tests/unit/slithir/test_data/ternary_expressions.sol index c73a2b6b3..ebfb96e80 100644 --- a/tests/slithir/ternary_expressions.sol +++ b/tests/unit/slithir/test_data/ternary_expressions.sol @@ -49,4 +49,8 @@ contract C { myIntegers[cond ? a : b] ); } + + function i(bool cond) public { + bytes memory a = new bytes(cond ? 1 : 2); + } } diff --git a/tests/slithir/test_operation_reads.py b/tests/unit/slithir/test_operation_reads.py similarity index 86% rename from tests/slithir/test_operation_reads.py rename to tests/unit/slithir/test_operation_reads.py index aa183333f..b82ef9d48 100644 --- a/tests/slithir/test_operation_reads.py +++ b/tests/unit/slithir/test_operation_reads.py @@ -1,7 +1,10 @@ +from pathlib import Path from collections import namedtuple from slither import Slither from slither.slithir.operations import Operation, NewContract +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + def check_num_local_vars_read(function, slithir_op: Operation, num_reads_expected: int): for node in function.nodes: @@ -24,11 +27,12 @@ OperationTest = namedtuple("OperationTest", "contract_name slithir_op") OPERATION_TEST = [OperationTest("NewContract", NewContract)] -def test_operation_reads() -> None: +def test_operation_reads(solc_binary_path) -> None: """ Every slithir operation has its own contract and reads all local and state variables in readAllLocalVariables and readAllStateVariables, respectively. """ - slither = Slither("./tests/slithir/operation_reads.sol") + solc_path = solc_binary_path("0.8.15") + slither = Slither(Path(TEST_DATA_DIR, "operation_reads.sol").as_posix(), solc=solc_path) for op_test in OPERATION_TEST: print(op_test) @@ -43,7 +47,3 @@ def test_operation_reads() -> None: local_function = target.get_function_from_signature("readAllLocalVariables()") num_local_vars = len(local_function.local_variables) check_num_local_vars_read(local_function, op_test.slithir_op, num_local_vars) - - -if __name__ == "__main__": - test_operation_reads() diff --git a/tests/test_ssa_generation.py b/tests/unit/slithir/test_ssa_generation.py similarity index 81% rename from tests/test_ssa_generation.py rename to tests/unit/slithir/test_ssa_generation.py index f002ec4e1..62218e41a 100644 --- a/tests/test_ssa_generation.py +++ b/tests/unit/slithir/test_ssa_generation.py @@ -1,20 +1,16 @@ -# pylint: disable=too-many-lines -import os +# # pylint: disable=too-many-lines import pathlib -from argparse import ArgumentTypeError from collections import defaultdict -from contextlib import contextmanager +from argparse import ArgumentTypeError from inspect import getsourcefile -from tempfile import NamedTemporaryFile -from typing import Union, List, Optional +from typing import Union, List, Dict, Callable import pytest -from solc_select import solc_select from solc_select.solc_select import valid_version as solc_valid_version - from slither import Slither from slither.core.cfg.node import Node, NodeType from slither.core.declarations import Function, Contract +from slither.core.variables.local_variable import LocalVariable from slither.core.variables.state_variable import StateVariable from slither.slithir.operations import ( OperationWithLValue, @@ -27,6 +23,7 @@ from slither.slithir.operations import ( BinaryType, InternalCall, Index, + InitArray, ) from slither.slithir.utils.ssa import is_used_later from slither.slithir.variables import ( @@ -34,10 +31,11 @@ from slither.slithir.variables import ( ReferenceVariable, LocalIRVariable, StateIRVariable, + TemporaryVariableSSA, ) # Directory of currently executing script. Will be used as basis for temporary file names. -SCRIPT_DIR = pathlib.Path(getsourcefile(lambda: 0)).parent +SCRIPT_DIR = pathlib.Path(getsourcefile(lambda: 0)).parent # type:ignore def valid_version(ver: str) -> bool: @@ -53,15 +51,15 @@ def valid_version(ver: str) -> bool: return False -def have_ssa_if_ir(function: Function): +def have_ssa_if_ir(function: Function) -> None: """Verifies that all nodes in a function that have IR also have SSA IR""" for n in function.nodes: if n.irs: assert n.irs_ssa -# pylint: disable=too-many-branches -def ssa_basic_properties(function: Function): +# pylint: disable=too-many-branches, too-many-locals +def ssa_basic_properties(function: Function) -> None: """Verifies that basic properties of ssa holds 1. Every name is defined only once @@ -75,12 +73,14 @@ def ssa_basic_properties(function: Function): """ ssa_lvalues = set() ssa_rvalues = set() - lvalue_assignments = {} + lvalue_assignments: Dict[str, int] = {} for n in function.nodes: for ir in n.irs: - if isinstance(ir, OperationWithLValue): + if isinstance(ir, OperationWithLValue) and ir.lvalue: name = ir.lvalue.name + if name is None: + continue if name in lvalue_assignments: lvalue_assignments[name] += 1 else: @@ -93,8 +93,9 @@ def ssa_basic_properties(function: Function): ssa_lvalues.add(ssa.lvalue) # 2 (if Local/State Var) - if isinstance(ssa.lvalue, (StateIRVariable, LocalIRVariable)): - assert ssa.lvalue.index > 0 + ssa_lvalue = ssa.lvalue + if isinstance(ssa_lvalue, (StateIRVariable, LocalIRVariable)): + assert ssa_lvalue.index > 0 for rvalue in filter( lambda x: not isinstance(x, (StateIRVariable, Constant)), ssa.read @@ -111,15 +112,18 @@ def ssa_basic_properties(function: Function): undef_vars.add(rvalue.non_ssa_version) # 4 - ssa_defs = defaultdict(int) + ssa_defs: Dict[str, int] = defaultdict(int) for v in ssa_lvalues: - ssa_defs[v.name] += 1 + if v and v.name: + ssa_defs[v.name] += 1 - for (k, n) in lvalue_assignments.items(): - assert ssa_defs[k] >= n + for (k, count) in lvalue_assignments.items(): + assert ssa_defs[k] >= count # Helper 5/6 - def check_property_5_and_6(variables, ssavars): + def check_property_5_and_6( + variables: List[LocalVariable], ssavars: List[LocalIRVariable] + ) -> None: for var in filter(lambda x: x.name, variables): ssa_vars = [x for x in ssavars if x.non_ssa_version == var] assert len(ssa_vars) == 1 @@ -136,7 +140,7 @@ def ssa_basic_properties(function: Function): check_property_5_and_6(function.returns, function.returns_ssa) -def ssa_phi_node_properties(f: Function): +def ssa_phi_node_properties(f: Function) -> None: """Every phi-function should have as many args as predecessors This does not apply if the phi-node refers to state variables, @@ -152,7 +156,7 @@ def ssa_phi_node_properties(f: Function): # TODO (hbrodin): This should probably go into another file, not specific to SSA -def dominance_properties(f: Function): +def dominance_properties(f: Function) -> None: """Verifies properties related to dominators holds 1. Every node have an immediate dominator except entry_node which have none @@ -180,14 +184,16 @@ def dominance_properties(f: Function): assert find_path(node.immediate_dominator, node) -def phi_values_inserted(f: Function): +def phi_values_inserted(f: Function) -> None: """Verifies that phi-values are inserted at the right places For every node that has a dominance frontier, any def (including phi) should be a phi function in its dominance frontier """ - def have_phi_for_var(node: Node, var): + def have_phi_for_var( + node: Node, var: Union[StateIRVariable, LocalIRVariable, TemporaryVariableSSA] + ) -> bool: """Checks if a node has a phi-instruction for var The ssa version would ideally be checked, but then @@ -198,7 +204,14 @@ def phi_values_inserted(f: Function): non_ssa = var.non_ssa_version for ssa in node.irs_ssa: if isinstance(ssa, Phi): - if non_ssa in map(lambda ssa_var: ssa_var.non_ssa_version, ssa.read): + if non_ssa in map( + lambda ssa_var: ssa_var.non_ssa_version, + [ + r + for r in ssa.read + if isinstance(r, (StateIRVariable, LocalIRVariable, TemporaryVariableSSA)) + ], + ): return True return False @@ -206,67 +219,24 @@ def phi_values_inserted(f: Function): for df in node.dominance_frontier: for ssa in node.irs_ssa: if isinstance(ssa, OperationWithLValue): - if is_used_later(node, ssa.lvalue): - assert have_phi_for_var(df, ssa.lvalue) - - -@contextmanager -def select_solc_version(version: Optional[str]): - """Selects solc version to use for running tests. - - If no version is provided, latest is used.""" - # If no solc_version selected just use the latest avail - if not version: - # This sorts the versions numerically - vers = sorted( - map( - lambda x: (int(x[0]), int(x[1]), int(x[2])), - map(lambda x: x.split(".", 3), solc_select.installed_versions()), - ) - ) - ver = list(vers)[-1] - version = ".".join(map(str, ver)) - env = dict(os.environ) - env_restore = dict(env) - env["SOLC_VERSION"] = version - os.environ.clear() - os.environ.update(env) - - yield version + ssa_lvalue = ssa.lvalue + if isinstance( + ssa_lvalue, (StateIRVariable, LocalIRVariable, TemporaryVariableSSA) + ) and is_used_later(node, ssa_lvalue): + assert have_phi_for_var(df, ssa_lvalue) - os.environ.clear() - os.environ.update(env_restore) - -@contextmanager -def slither_from_source(source_code: str, solc_version: Optional[str] = None): - """Yields a Slither instance using source_code string and solc_version - - Creates a temporary file and changes the solc-version temporary to solc_version. - """ - - fname = "" - try: - with NamedTemporaryFile(dir=SCRIPT_DIR, mode="w", suffix=".sol", delete=False) as f: - fname = f.name - f.write(source_code) - with select_solc_version(solc_version): - yield Slither(fname) - finally: - pathlib.Path(fname).unlink() - - -def verify_properties_hold(source_code_or_slither: Union[str, Slither]): +def verify_properties_hold(slither: Slither) -> None: """Ensures that basic properties of SSA hold true""" - def verify_func(func: Function): + def verify_func(func: Function) -> None: have_ssa_if_ir(func) phi_values_inserted(func) ssa_basic_properties(func) ssa_phi_node_properties(func) dominance_properties(func) - def verify(slither): + def verify(slither: Slither) -> None: for cu in slither.compilation_units: for func in cu.functions_and_modifiers: _dump_function(func) @@ -277,14 +247,11 @@ def verify_properties_hold(source_code_or_slither: Union[str, Slither]): _dump_function(f) verify_func(f) - if isinstance(source_code_or_slither, Slither): - verify(source_code_or_slither) - else: - with slither_from_source(source_code_or_slither) as slither: - verify(slither) + assert isinstance(slither, Slither) + verify(slither) -def _dump_function(f: Function): +def _dump_function(f: Function) -> None: """Helper function to print nodes/ssa ir for a function or modifier""" print(f"---- {f.name} ----") for n in f.nodes: @@ -294,13 +261,13 @@ def _dump_function(f: Function): print("") -def _dump_functions(c: Contract): +def _dump_functions(c: Contract) -> None: """Helper function to print functions and modifiers of a contract""" for f in c.functions_and_modifiers: _dump_function(f) -def get_filtered_ssa(f: Union[Function, Node], flt) -> List[Operation]: +def get_filtered_ssa(f: Union[Function, Node], flt: Callable) -> List[Operation]: """Returns a list of all ssanodes filtered by filter for all nodes in function f""" if isinstance(f, Function): return [ssanode for node in f.nodes for ssanode in node.irs_ssa if flt(ssanode)] @@ -314,8 +281,8 @@ def get_ssa_of_type(f: Union[Function, Node], ssatype) -> List[Operation]: return get_filtered_ssa(f, lambda ssanode: isinstance(ssanode, ssatype)) -def test_multi_write(): - contract = """ +def test_multi_write(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function multi_write(uint val) external pure returns(uint) { @@ -324,11 +291,12 @@ def test_multi_write(): val = 3; } }""" - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_single_branch_phi(): - contract = """ +def test_single_branch_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function single_branch_phi(uint val) external pure returns(uint) { @@ -339,11 +307,12 @@ def test_single_branch_phi(): } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_basic_phi(): - contract = """ +def test_basic_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function basic_phi(uint val) external pure returns(uint) { @@ -356,11 +325,12 @@ def test_basic_phi(): } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_basic_loop_phi(): - contract = """ +def test_basic_loop_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function basic_loop_phi(uint val) external pure returns(uint) { @@ -371,12 +341,13 @@ def test_basic_loop_phi(): } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_phi_propagation_loop(): - contract = """ +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_phi_propagation_loop(slither_from_source): + source = """ pragma solidity ^0.8.11; contract Test { function looping(uint v) external pure returns(uint) { @@ -392,12 +363,13 @@ def test_phi_propagation_loop(): } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_free_function_properties(): - contract = """ +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_free_function_properties(slither_from_source): + source = """ pragma solidity ^0.8.11; function free_looping(uint v) returns(uint) { @@ -414,10 +386,11 @@ def test_free_function_properties(): contract Test {} """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_ssa_inter_transactional(): +def test_ssa_inter_transactional(slither_from_source) -> None: source = """ pragma solidity ^0.8.11; contract A { @@ -459,8 +432,8 @@ def test_ssa_inter_transactional(): assert assign2.lvalue in phi.rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_ssa_phi_callbacks(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_ssa_phi_callbacks(slither_from_source): source = """ pragma solidity ^0.8.11; contract A { @@ -518,8 +491,8 @@ def test_ssa_phi_callbacks(): assert len(after_call_phi.rvalues) == 2 -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_storage_refers_to(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_storage_refers_to(slither_from_source): """Test the storage aspects of the SSA IR When declaring a var as being storage, start tracking what storage it refers_to. @@ -585,11 +558,10 @@ def test_storage_refers_to(): assert phinodes[1].lvalue in entryphi[0].rvalues or entryphi[1].rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_initial_version_exists_for_locals(): +def test_initial_version_exists_for_locals(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for local variables. @@ -622,11 +594,11 @@ def test_initial_version_exists_for_locals(): assert a_0.non_ssa_version == a_1.non_ssa_version -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_initial_version_exists_for_state_variables(): +def test_initial_version_exists_for_state_variables(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for state variables. @@ -662,8 +634,8 @@ def test_initial_version_exists_for_state_variables(): assert len(get_ssa_of_type(f, Phi)) == 0 -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_initial_version_exists_for_state_variables_function_assign(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_initial_version_exists_for_state_variables_function_assign(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for local variables. @@ -689,7 +661,7 @@ def test_initial_version_exists_for_state_variables_function_assign(): # temporary variable, that is then assigned to a call = get_ssa_of_type(ctor, InternalCall)[0] - assert call.function == f + assert call.node.function == f assign = get_ssa_of_type(ctor, Assignment)[0] assert assign.rvalue == call.lvalue assert isinstance(assign.lvalue, StateIRVariable) @@ -705,7 +677,7 @@ def test_initial_version_exists_for_state_variables_function_assign(): @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_return_local_before_assign(): +def test_return_local_before_assign(slither_from_source): src = """ // this require solidity < 0.5 // a variable can be returned before declared. Ensure it can be @@ -735,7 +707,7 @@ def test_return_local_before_assign(): @pytest.mark.skipif( not valid_version("0.5.0"), reason="Solidity version 0.5.0 not available on this platform" ) -def test_shadow_local(): +def test_shadow_local(slither_from_source): src = """ contract A { // this require solidity 0.5 @@ -759,8 +731,8 @@ def test_shadow_local(): assert all(map(lambda x: x.lvalue.index == 1, get_ssa_of_type(f, Assignment))) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_multiple_named_args_returns(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_multiple_named_args_returns(slither_from_source): """Verifies that named arguments and return values have correct versions Each arg/ret have an initial version, version 0, and is written once and should @@ -788,28 +760,28 @@ def test_multiple_named_args_returns(): ) -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.") -def test_memory_array(): +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) +def test_memory_array(slither_from_source): src = """ contract MemArray { struct A { uint val1; uint val2; } - + function test_array() internal { A[] memory a= new A[](4); // Create REF_0 -> a_1[2] accept_array_entry(a[2]); - + // Create REF_1 -> a_1[3] accept_array_entry(a[3]); - + A memory alocal; accept_array_entry(alocal); - + } - + // val_1 = ϕ(val_0, REF_0, REF_1, alocal_1) // val_0 is an unknown external value function accept_array_entry(A memory val) public returns (uint) { @@ -818,9 +790,9 @@ def test_memory_array(): // Create REF_2 -> val_1.val1 return b(val.val1); } - + function b(uint arg) public returns (uint){ - // arg_1 = ϕ(arg_0, zero_1, REF_2) + // arg_1 = ϕ(arg_0, zero_1, REF_2) return arg + 1; } }""" @@ -854,20 +826,20 @@ def test_memory_array(): assert len(phi_entry_b.rvalues) == len(b_args) + 1 -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.") -def test_storage_array(): +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) +def test_storage_array(slither_from_source): src = """ contract StorageArray { struct A { uint val1; uint val2; } - + // NOTE(hbrodin): a is never written, should only become a_0. Same for astorage (astorage_0). Phi-nodes at entry - // should only add new versions of a state variable if it is actually written. + // should only add new versions of a state variable if it is actually written. A[] a; A astorage; - + function test_array() internal { accept_array_entry(a[2]); accept_array_entry(a[3]); @@ -877,7 +849,7 @@ def test_storage_array(): function accept_array_entry(A storage val) internal returns (uint) { // val is either a[2], a[3] or astorage_0. Ideally this could be identified. uint five = 5; - + // NOTE(hbrodin): If the following line is enabled, there would ideally be a phi-node representing writes // to either a or astorage. //val.val2 = 4; @@ -909,8 +881,8 @@ def test_storage_array(): assert len(phi_entry_b.rvalues) == 3 # See comment in b above -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_issue_468(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_468(slither_from_source): """ Ensure issue 468 is corrected as per https://github.com/crytic/slither/issues/468#issuecomment-620974151 @@ -963,8 +935,8 @@ def test_issue_468(): assert phi_endif.lvalue in phi_entry.rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_issue_434(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_434(slither_from_source): source = """ contract Contract { int public a; @@ -1017,8 +989,8 @@ def test_issue_434(): assert aftercall_phi.lvalue in (add_f.variable_left, add_f.variable_right) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") -def test_issue_473(): +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_473(slither_from_source): source = """ contract Contract { function f() public returns (int) { @@ -1059,3 +1031,58 @@ def test_issue_473(): # return is for second phi assert len(return_value.values) == 1 assert second_phi.lvalue in return_value.values + + +def test_issue_1748(slither_from_source): + source = """ + contract Contract { + uint[] arr; + function foo(uint i) public { + arr = [1]; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + operations = f.slithir_operations + assign_op = operations[0] + assert isinstance(assign_op, InitArray) + + +def test_issue_1846_ternary_in_if(slither_from_source): + source = """ + contract Contract { + function foo(uint x) public returns (uint y) { + if (x > 0) { + y = x > 1 ? 2 : 3; + } else { + y = 4; + } + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + node = f.nodes[1] + assert node.type == NodeType.IF + assert node.son_true.type == NodeType.IF + assert node.son_false.type == NodeType.EXPRESSION + + +def test_issue_1846_ternary_in_ternary(slither_from_source): + source = """ + contract Contract { + function foo(uint x) public returns (uint y) { + y = x > 0 ? x > 1 ? 2 : 3 : 4; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + node = f.nodes[1] + assert node.type == NodeType.IF + assert node.son_true.type == NodeType.IF + assert node.son_false.type == NodeType.EXPRESSION diff --git a/tests/slithir/test_ternary_expressions.py b/tests/unit/slithir/test_ternary_expressions.py similarity index 84% rename from tests/slithir/test_ternary_expressions.py rename to tests/unit/slithir/test_ternary_expressions.py index 17cac6b2f..0acd9345d 100644 --- a/tests/slithir/test_ternary_expressions.py +++ b/tests/unit/slithir/test_ternary_expressions.py @@ -1,12 +1,16 @@ +from pathlib import Path from slither import Slither from slither.core.cfg.node import NodeType from slither.slithir.operations import Assignment from slither.core.expressions import AssignmentOperation, TupleExpression + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" # pylint: disable=too-many-nested-blocks -def test_ternary_conversions() -> None: +def test_ternary_conversions(solc_binary_path) -> None: """This tests that true and false sons define the same number of variables that the father node declares""" - slither = Slither("./tests/slithir/ternary_expressions.sol") + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "ternary_expressions.sol").as_posix(), solc=solc_path) for contract in slither.contracts: for function in contract.functions: vars_declared = 0 @@ -32,7 +36,3 @@ def test_ternary_conversions() -> None: vars_assigned += 1 assert vars_declared == vars_assigned - - -if __name__ == "__main__": - test_ternary_conversions() diff --git a/tests/unit/utils/__init__.py b/tests/unit/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/unit/utils/test_code_generation.py b/tests/unit/utils/test_code_generation.py new file mode 100644 index 000000000..35f6cea0e --- /dev/null +++ b/tests/unit/utils/test_code_generation.py @@ -0,0 +1,22 @@ +from pathlib import Path + +from slither import Slither +from slither.utils.code_generation import ( + generate_interface, +) + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "code_generation" + + +def test_interface_generation(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.4") + + sl = Slither(Path(TEST_DATA_DIR, "CodeGeneration.sol").as_posix(), solc=solc_path) + + actual = generate_interface(sl.get_contract_from_name("TestContract")[0]) + expected_path = Path(TEST_DATA_DIR, "TEST_generated_code.sol").as_posix() + + with open(expected_path, "r", encoding="utf-8") as file: + expected = file.read() + + assert actual == expected diff --git a/tests/unit/utils/test_data/code_generation/CodeGeneration.sol b/tests/unit/utils/test_data/code_generation/CodeGeneration.sol new file mode 100644 index 000000000..c15017abd --- /dev/null +++ b/tests/unit/utils/test_data/code_generation/CodeGeneration.sol @@ -0,0 +1,56 @@ +pragma solidity ^0.8.4; +interface I { + enum SomeEnum { ONE, TWO, THREE } + error ErrorWithEnum(SomeEnum e); +} + +contract TestContract is I { + uint public stateA; + uint private stateB; + address public immutable owner = msg.sender; + mapping(address => mapping(uint => St)) public structs; + + event NoParams(); + event Anonymous() anonymous; + event OneParam(address addr); + event OneParamIndexed(address indexed addr); + + error ErrorSimple(); + error ErrorWithArgs(uint, uint); + error ErrorWithStruct(St s); + + struct St{ + uint v; + } + + function err0() public { + revert ErrorSimple(); + } + function err1() public { + St memory s; + revert ErrorWithStruct(s); + } + function err2(uint a, uint b) public { + revert ErrorWithArgs(a, b); + revert ErrorWithArgs(uint(SomeEnum.ONE), uint(SomeEnum.ONE)); + } + function err3() internal { + revert('test'); + } + function err4() private { + revert ErrorWithEnum(SomeEnum.ONE); + } + + function newSt(uint x) public returns (St memory) { + St memory st; + st.v = x; + structs[msg.sender][x] = st; + return st; + } + function getSt(uint x) public view returns (St memory) { + return structs[msg.sender][x]; + } + function removeSt(St memory st) public { + delete structs[msg.sender][st.v]; + } +} \ No newline at end of file diff --git a/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol b/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol new file mode 100644 index 000000000..62e08bd74 --- /dev/null +++ b/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol @@ -0,0 +1,24 @@ +interface ITestContract { + event NoParams(); + event Anonymous(); + event OneParam(address); + event OneParamIndexed(address); + error ErrorWithEnum(uint8); + error ErrorSimple(); + error ErrorWithArgs(uint256, uint256); + error ErrorWithStruct(uint256); + enum SomeEnum { ONE, TWO, THREE } + struct St { + uint256 v; + } + function stateA() external returns (uint256); + function owner() external returns (address); + function structs(address,uint256) external returns (uint256); + function err0() external; + function err1() external; + function err2(uint256,uint256) external; + function newSt(uint256) external returns (uint256); + function getSt(uint256) external view returns (uint256); + function removeSt(uint256) external; +} + diff --git a/tests/printers/functions_ids.sol b/tests/unit/utils/test_data/functions_ids.sol similarity index 100% rename from tests/printers/functions_ids.sol rename to tests/unit/utils/test_data/functions_ids.sol diff --git a/tests/function_ids/rec_struct-0.8.sol b/tests/unit/utils/test_data/type_helpers.sol similarity index 100% rename from tests/function_ids/rec_struct-0.8.sol rename to tests/unit/utils/test_data/type_helpers.sol diff --git a/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.5.0.sol b/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.5.0.sol new file mode 100644 index 000000000..eaecfa6e9 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.5.0.sol @@ -0,0 +1,6 @@ +pragma solidity ^0.5.0; + +import "./src/EIP1822Proxy.sol"; +import "./src/ZosProxy.sol"; +import "./src/MasterCopyProxy.sol"; +import "./src/SynthProxy.sol"; diff --git a/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.8.2.sol b/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.8.2.sol new file mode 100644 index 000000000..d3371d3c6 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/TestUpgrades-0.8.2.sol @@ -0,0 +1,6 @@ +pragma solidity ^0.8.2; + +import "./src/ContractV1.sol"; +import "./src/ContractV2.sol"; +import "./src/InheritedStorageProxy.sol"; +import "./src/ERC1967Proxy.sol"; diff --git a/tests/unit/utils/test_data/upgradeability_util/src/Address.sol b/tests/unit/utils/test_data/upgradeability_util/src/Address.sol new file mode 100644 index 000000000..d440b259e --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/Address.sol @@ -0,0 +1,244 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol) + +pragma solidity ^0.8.1; + +/** + * @dev Collection of functions related to the address type + */ +library Address { + /** + * @dev Returns true if `account` is a contract. + * + * [IMPORTANT] + * ==== + * It is unsafe to assume that an address for which this function returns + * false is an externally-owned account (EOA) and not a contract. + * + * Among others, `isContract` will return false for the following + * types of addresses: + * + * - an externally-owned account + * - a contract in construction + * - an address where a contract will be created + * - an address where a contract lived, but was destroyed + * ==== + * + * [IMPORTANT] + * ==== + * You shouldn't rely on `isContract` to protect against flash loan attacks! + * + * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets + * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract + * constructor. + * ==== + */ + function isContract(address account) internal view returns (bool) { + // This method relies on extcodesize/address.code.length, which returns 0 + // for contracts in construction, since the code is only stored at the end + // of the constructor execution. + + return account.code.length > 0; + } + + /** + * @dev Replacement for Solidity's `transfer`: sends `amount` wei to + * `recipient`, forwarding all available gas and reverting on errors. + * + * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost + * of certain opcodes, possibly making contracts go over the 2300 gas limit + * imposed by `transfer`, making them unable to receive funds via + * `transfer`. {sendValue} removes this limitation. + * + * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. + * + * IMPORTANT: because control is transferred to `recipient`, care must be + * taken to not create reentrancy vulnerabilities. Consider using + * {ReentrancyGuard} or the + * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. + */ + function sendValue(address payable recipient, uint256 amount) internal { + require(address(this).balance >= amount, "Address: insufficient balance"); + + (bool success, ) = recipient.call{value: amount}(""); + require(success, "Address: unable to send value, recipient may have reverted"); + } + + /** + * @dev Performs a Solidity function call using a low level `call`. A + * plain `call` is an unsafe replacement for a function call: use this + * function instead. + * + * If `target` reverts with a revert reason, it is bubbled up by this + * function (like regular Solidity function calls). + * + * Returns the raw returned data. To convert to the expected return value, + * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. + * + * Requirements: + * + * - `target` must be a contract. + * - calling `target` with `data` must not revert. + * + * _Available since v3.1._ + */ + function functionCall(address target, bytes memory data) internal returns (bytes memory) { + return functionCallWithValue(target, data, 0, "Address: low-level call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with + * `errorMessage` as a fallback revert reason when `target` reverts. + * + * _Available since v3.1._ + */ + function functionCall( + address target, + bytes memory data, + string memory errorMessage + ) internal returns (bytes memory) { + return functionCallWithValue(target, data, 0, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but also transferring `value` wei to `target`. + * + * Requirements: + * + * - the calling contract must have an ETH balance of at least `value`. + * - the called Solidity function must be `payable`. + * + * _Available since v3.1._ + */ + function functionCallWithValue( + address target, + bytes memory data, + uint256 value + ) internal returns (bytes memory) { + return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); + } + + /** + * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but + * with `errorMessage` as a fallback revert reason when `target` reverts. + * + * _Available since v3.1._ + */ + function functionCallWithValue( + address target, + bytes memory data, + uint256 value, + string memory errorMessage + ) internal returns (bytes memory) { + require(address(this).balance >= value, "Address: insufficient balance for call"); + (bool success, bytes memory returndata) = target.call{value: value}(data); + return verifyCallResultFromTarget(target, success, returndata, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but performing a static call. + * + * _Available since v3.3._ + */ + function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { + return functionStaticCall(target, data, "Address: low-level static call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], + * but performing a static call. + * + * _Available since v3.3._ + */ + function functionStaticCall( + address target, + bytes memory data, + string memory errorMessage + ) internal view returns (bytes memory) { + (bool success, bytes memory returndata) = target.staticcall(data); + return verifyCallResultFromTarget(target, success, returndata, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but performing a delegate call. + * + * _Available since v3.4._ + */ + function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { + return functionDelegateCall(target, data, "Address: low-level delegate call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], + * but performing a delegate call. + * + * _Available since v3.4._ + */ + function functionDelegateCall( + address target, + bytes memory data, + string memory errorMessage + ) internal returns (bytes memory) { + (bool success, bytes memory returndata) = target.delegatecall(data); + return verifyCallResultFromTarget(target, success, returndata, errorMessage); + } + + /** + * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling + * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. + * + * _Available since v4.8._ + */ + function verifyCallResultFromTarget( + address target, + bool success, + bytes memory returndata, + string memory errorMessage + ) internal view returns (bytes memory) { + if (success) { + if (returndata.length == 0) { + // only check isContract if the call was successful and the return data is empty + // otherwise we already know that it was a contract + require(isContract(target), "Address: call to non-contract"); + } + return returndata; + } else { + _revert(returndata, errorMessage); + } + } + + /** + * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the + * revert reason or using the provided one. + * + * _Available since v4.3._ + */ + function verifyCallResult( + bool success, + bytes memory returndata, + string memory errorMessage + ) internal pure returns (bytes memory) { + if (success) { + return returndata; + } else { + _revert(returndata, errorMessage); + } + } + + function _revert(bytes memory returndata, string memory errorMessage) private pure { + // Look for revert reason and bubble it up if present + if (returndata.length > 0) { + // The easiest way to bubble the revert reason is using memory via assembly + /// @solidity memory-safe-assembly + assembly { + let returndata_size := mload(returndata) + revert(add(32, returndata), returndata_size) + } + } else { + revert(errorMessage); + } + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ContractV1.sol b/tests/unit/utils/test_data/upgradeability_util/src/ContractV1.sol new file mode 100644 index 000000000..1e2c4b476 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ContractV1.sol @@ -0,0 +1,36 @@ +pragma solidity ^0.8.2; + +import "./ProxyStorage.sol"; + +contract ContractV1 is ProxyStorage { + uint private stateA = 0; + uint private stateB = 0; + uint constant CONST = 32; + bool bug = false; + + function f(uint x) public { + if (msg.sender == admin) { + stateA = x; + } + } + + function g(uint y) public { + if (checkA()) { + stateB = y - 10; + } + } + + function h() public { + if (checkB()) { + bug = true; + } + } + + function checkA() internal returns (bool) { + return stateA % CONST == 1; + } + + function checkB() internal returns (bool) { + return stateB == 62; + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol b/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol new file mode 100644 index 000000000..9b102f3e9 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol @@ -0,0 +1,41 @@ +pragma solidity ^0.8.2; + +import "./ProxyStorage.sol"; + +contract ContractV2 is ProxyStorage { + uint private stateA = 0; + uint private stateB = 0; + uint constant CONST = 32; + bool bug = false; + uint private stateC = 0; + + function f(uint x) public { + if (msg.sender == admin) { + stateA = x; + } + } + + function g(uint y) public { + if (checkA()) { + stateB = y - 10; + } + } + + function h() public { + if (checkB()) { + bug = true; + } + } + + function i() public { + stateC = stateC + 1; + } + + function checkA() internal returns (bool) { + return stateA % CONST == 1; + } + + function checkB() internal returns (bool) { + return stateB == 32; + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/EIP1822Proxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/EIP1822Proxy.sol new file mode 100644 index 000000000..3145eb17e --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/EIP1822Proxy.sol @@ -0,0 +1,47 @@ +pragma solidity ^0.5.0; + +contract EIP1822Proxy { + // Code position in storage is keccak256("PROXIABLE") = "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7" + constructor(bytes memory constructData, address contractLogic) public { + // save the code address + assembly { // solium-disable-line + sstore(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7, contractLogic) + } + (bool success, bytes memory _ ) = contractLogic.delegatecall(constructData); // solium-disable-line + require(success, "Construction failed"); + } + + function() external payable { + assembly { // solium-disable-line + let contractLogic := sload(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7) + calldatacopy(0x0, 0x0, calldatasize) + let success := delegatecall(sub(gas, 10000), contractLogic, 0x0, calldatasize, 0, 0) + let retSz := returndatasize + returndatacopy(0, 0, retSz) + switch success + case 0 { + revert(0, retSz) + } + default { + return(0, retSz) + } + } + } +} + +contract EIP1822Proxiable { + // Code position in storage is keccak256("PROXIABLE") = "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7" + + function updateCodeAddress(address newAddress) internal { + require( + bytes32(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7) == EIP1822Proxiable(newAddress).proxiableUUID(), + "Not compatible" + ); + assembly { // solium-disable-line + sstore(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7, newAddress) + } + } + function proxiableUUID() public pure returns (bytes32) { + return 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7; + } +} \ No newline at end of file diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Proxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Proxy.sol new file mode 100644 index 000000000..f1496c27e --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Proxy.sol @@ -0,0 +1,15 @@ +pragma solidity ^0.8.0; + +import "./Proxy.sol"; +import "./ERC1967Upgrade.sol"; + +contract ERC1967Proxy is Proxy, ERC1967Upgrade { + + constructor(address _logic, bytes memory _data) payable { + _upgradeToAndCall(_logic, _data, false); + } + + function _implementation() internal view virtual override returns (address impl) { + return ERC1967Upgrade._getImplementation(); + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Upgrade.sol b/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Upgrade.sol new file mode 100644 index 000000000..d089e94d9 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ERC1967Upgrade.sol @@ -0,0 +1,105 @@ +pragma solidity ^0.8.2; + +import "./Address.sol"; +import "./StorageSlot.sol"; + +interface IBeacon { + function implementation() external view returns (address); +} + +interface IERC1822Proxiable { + function proxiableUUID() external view returns (bytes32); +} + +abstract contract ERC1967Upgrade { + + bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143; + bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; + bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; + + event Upgraded(address indexed implementation); + event AdminChanged(address previousAdmin, address newAdmin); + event BeaconUpgraded(address indexed beacon); + + function _getImplementation() internal view returns (address) { + return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; + } + + function _setImplementation(address newImplementation) private { + require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); + StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; + } + + function _upgradeTo(address newImplementation) internal { + _setImplementation(newImplementation); + emit Upgraded(newImplementation); + } + + function _upgradeToAndCall( + address newImplementation, + bytes memory data, + bool forceCall + ) internal { + _upgradeTo(newImplementation); + if (data.length > 0 || forceCall) { + Address.functionDelegateCall(newImplementation, data); + } + } + + function _upgradeToAndCallUUPS( + address newImplementation, + bytes memory data, + bool forceCall + ) internal { + if (StorageSlot.getBooleanSlot(_ROLLBACK_SLOT).value) { + _setImplementation(newImplementation); + } else { + try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) { + require(slot == _IMPLEMENTATION_SLOT, "ERC1967Upgrade: unsupported proxiableUUID"); + } catch { + revert("ERC1967Upgrade: new implementation is not UUPS"); + } + _upgradeToAndCall(newImplementation, data, forceCall); + } + } + + function _getAdmin() internal view returns (address) { + return StorageSlot.getAddressSlot(_ADMIN_SLOT).value; + } + + function _setAdmin(address newAdmin) private { + require(newAdmin != address(0), "ERC1967: new admin is the zero address"); + StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin; + } + + function _changeAdmin(address newAdmin) internal { + emit AdminChanged(_getAdmin(), newAdmin); + _setAdmin(newAdmin); + } + + function _getBeacon() internal view returns (address) { + return StorageSlot.getAddressSlot(_BEACON_SLOT).value; + } + + function _setBeacon(address newBeacon) private { + require(Address.isContract(newBeacon), "ERC1967: new beacon is not a contract"); + require( + Address.isContract(IBeacon(newBeacon).implementation()), + "ERC1967: beacon implementation is not a contract" + ); + StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon; + } + + function _upgradeBeaconToAndCall( + address newBeacon, + bytes memory data, + bool forceCall + ) internal { + _setBeacon(newBeacon); + emit BeaconUpgraded(newBeacon); + if (data.length > 0 || forceCall) { + Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data); + } + } +} \ No newline at end of file diff --git a/tests/unit/utils/test_data/upgradeability_util/src/InheritedStorageProxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/InheritedStorageProxy.sol new file mode 100644 index 000000000..eddbfb0f1 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/InheritedStorageProxy.sol @@ -0,0 +1,39 @@ +pragma solidity ^0.8.0; + +import "./Proxy.sol"; +import "./ProxyStorage.sol"; + +contract InheritedStorageProxy is Proxy, ProxyStorage { + constructor(address _implementation) { + admin = msg.sender; + implementation = _implementation; + } + + function getImplementation() external view returns (address) { + return _implementation(); + } + + function getAdmin() external view returns (address) { + return _admin(); + } + + function upgrade(address _newImplementation) external { + require(msg.sender == admin, "Only admin can upgrade"); + implementation = _newImplementation; + } + + function setAdmin(address _newAdmin) external { + require(msg.sender == admin, "Only current admin can change admin"); + admin = _newAdmin; + } + + function _implementation() internal view override returns (address) { + return implementation; + } + + function _admin() internal view returns (address) { + return admin; + } + + function _beforeFallback() internal override {} +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/MasterCopyProxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/MasterCopyProxy.sol new file mode 100644 index 000000000..d25a2a920 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/MasterCopyProxy.sol @@ -0,0 +1,27 @@ +pragma solidity ^0.5.0; + +contract MasterCopyProxy { + address internal masterCopy; + + constructor(address _masterCopy) + public + { + require(_masterCopy != address(0), "Invalid master copy address provided"); + masterCopy = _masterCopy; + } + + /// @dev Fallback function forwards all transactions and returns all received return data. + function () + external + payable + { + // solium-disable-next-line security/no-inline-assembly + assembly { + calldatacopy(0, 0, calldatasize()) + let success := delegatecall(gas, sload(0), 0, calldatasize(), 0, 0) + returndatacopy(0, 0, returndatasize()) + if eq(success, 0) { revert(0, returndatasize()) } + return(0, returndatasize()) + } + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/Proxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/Proxy.sol new file mode 100644 index 000000000..445ddb170 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/Proxy.sol @@ -0,0 +1,36 @@ +pragma solidity ^0.8.0; + +abstract contract Proxy { + + function _delegate(address implementation) internal virtual { + assembly { + calldatacopy(0, 0, calldatasize()) + let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) + returndatacopy(0, 0, returndatasize()) + switch result + case 0 { + revert(0, returndatasize()) + } + default { + return(0, returndatasize()) + } + } + } + + function _implementation() internal view virtual returns (address); + + function _fallback() internal virtual { + _beforeFallback(); + _delegate(_implementation()); + } + + fallback() external payable virtual { + _fallback(); + } + + receive() external payable virtual { + _fallback(); + } + + function _beforeFallback() internal virtual {} +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ProxyStorage.sol b/tests/unit/utils/test_data/upgradeability_util/src/ProxyStorage.sol new file mode 100644 index 000000000..d591040bd --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ProxyStorage.sol @@ -0,0 +1,6 @@ +pragma solidity ^0.8.0; + +contract ProxyStorage { + address internal admin; + address internal implementation; +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/StorageSlot.sol b/tests/unit/utils/test_data/upgradeability_util/src/StorageSlot.sol new file mode 100644 index 000000000..6ab8f5dc6 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/StorageSlot.sol @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v4.7.0) (utils/StorageSlot.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Library for reading and writing primitive types to specific storage slots. + * + * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. + * This library helps with reading and writing to such slots without the need for inline assembly. + * + * The functions in this library return Slot structs that contain a `value` member that can be used to read or write. + * + * Example usage to set ERC1967 implementation slot: + * ``` + * contract ERC1967 { + * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + * + * function _getImplementation() internal view returns (address) { + * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; + * } + * + * function _setImplementation(address newImplementation) internal { + * require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); + * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; + * } + * } + * ``` + * + * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._ + */ +library StorageSlot { + struct AddressSlot { + address value; + } + + struct BooleanSlot { + bool value; + } + + struct Bytes32Slot { + bytes32 value; + } + + struct Uint256Slot { + uint256 value; + } + + /** + * @dev Returns an `AddressSlot` with member `value` located at `slot`. + */ + function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `BooleanSlot` with member `value` located at `slot`. + */ + function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. + */ + function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Uint256Slot` with member `value` located at `slot`. + */ + function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/SynthProxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/SynthProxy.sol new file mode 100644 index 000000000..9b3a6bdef --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/SynthProxy.sol @@ -0,0 +1,58 @@ +pragma solidity ^0.5.0; + +contract Owned { + address public owner; + + constructor(address _owner) public { + require(_owner != address(0), "Owner address cannot be 0"); + owner = _owner; + } + + modifier onlyOwner { + require(msg.sender == owner, "Only the contract owner may perform this action"); + _; + } +} + +contract Proxyable is Owned { + /* The proxy this contract exists behind. */ + SynthProxy public proxy; + + constructor(address payable _proxy) internal { + // This contract is abstract, and thus cannot be instantiated directly + require(owner != address(0), "Owner must be set"); + + proxy = SynthProxy(_proxy); + } + + function setProxy(address payable _proxy) external onlyOwner { + proxy = SynthProxy(_proxy); + } +} + + +contract SynthProxy is Owned { + Proxyable public target; + + constructor(address _owner) public Owned(_owner) {} + + function setTarget(Proxyable _target) external onlyOwner { + target = _target; + } + + // solhint-disable no-complex-fallback + function() external payable { + assembly { + calldatacopy(0, 0, calldatasize) + + /* We must explicitly forward ether to the underlying contract as well. */ + let result := delegatecall(gas, sload(target_slot), 0, calldatasize, 0, 0) + returndatacopy(0, 0, returndatasize) + + if iszero(result) { + revert(0, returndatasize) + } + return(0, returndatasize) + } + } +} diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ZosProxy.sol b/tests/unit/utils/test_data/upgradeability_util/src/ZosProxy.sol new file mode 100644 index 000000000..db44f4c98 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ZosProxy.sol @@ -0,0 +1,67 @@ +pragma solidity ^0.5.0; + +contract ZosProxy { + function () payable external { + _fallback(); + } + + function _implementation() internal view returns (address); + + function _delegate(address implementation) internal { + assembly { + calldatacopy(0, 0, calldatasize) + let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0) + returndatacopy(0, 0, returndatasize) + switch result + case 0 { revert(0, returndatasize) } + default { return(0, returndatasize) } + } + } + + function _willFallback() internal { + } + + function _fallback() internal { + _willFallback(); + _delegate(_implementation()); + } +} + +library AddressUtils { + function isContract(address addr) internal view returns (bool) { + uint256 size; + assembly { size := extcodesize(addr) } + return size > 0; + } +} + +contract UpgradeabilityProxy is ZosProxy { + event Upgraded(address indexed implementation); + + bytes32 private constant IMPLEMENTATION_SLOT = 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3; + + constructor(address _implementation) public payable { + assert(IMPLEMENTATION_SLOT == keccak256("org.zeppelinos.proxy.implementation")); + _setImplementation(_implementation); + } + + function _implementation() internal view returns (address impl) { + bytes32 slot = IMPLEMENTATION_SLOT; + assembly { + impl := sload(slot) + } + } + + function _upgradeTo(address newImplementation) internal { + _setImplementation(newImplementation); + emit Upgraded(newImplementation); + } + + function _setImplementation(address newImplementation) private { + require(AddressUtils.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address"); + bytes32 slot = IMPLEMENTATION_SLOT; + assembly { + sstore(slot, newImplementation) + } + } +} diff --git a/tests/test_functions_ids.py b/tests/unit/utils/test_functions_ids.py similarity index 90% rename from tests/test_functions_ids.py rename to tests/unit/utils/test_functions_ids.py index eacbf4930..9af42ad85 100644 --- a/tests/test_functions_ids.py +++ b/tests/unit/utils/test_functions_ids.py @@ -1,4 +1,4 @@ -from solc_select import solc_select +from pathlib import Path from slither import Slither # % solc functions_ids.sol --hashes @@ -37,10 +37,13 @@ signatures = { "stateMap(uint16)": "5a20851f", } +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -def test_functions_ids() -> None: - solc_select.switch_global_version("0.7.0", always_install=True) - sl = Slither("tests/printers/functions_ids.sol") + +def test_functions_ids(solc_binary_path) -> None: + solc_path = solc_binary_path("0.7.0") + file = Path(TEST_DATA_DIR, "functions_ids.sol").as_posix() + sl = Slither(file, solc=solc_path) contracts_c = sl.get_contract_from_name("C") assert len(contracts_c) == 1 contract_c = contracts_c[0] @@ -54,7 +57,3 @@ def test_functions_ids() -> None: assert get_function_id(var.solidity_signature) == int(hashes, 16) else: assert get_function_id(func.solidity_signature) == int(hashes, 16) - - -if __name__ == "__main__": - test_functions_ids() diff --git a/tests/unit/utils/test_type_helpers.py b/tests/unit/utils/test_type_helpers.py new file mode 100644 index 000000000..420329ab2 --- /dev/null +++ b/tests/unit/utils/test_type_helpers.py @@ -0,0 +1,12 @@ +from pathlib import Path +from slither import Slither + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + + +def test_function_id_rec_structure(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "type_helpers.sol").as_posix(), solc=solc_path) + for compilation_unit in slither.compilation_units: + for function in compilation_unit.functions: + assert function.solidity_signature diff --git a/tests/unit/utils/test_upgradeability_util.py b/tests/unit/utils/test_upgradeability_util.py new file mode 100644 index 000000000..1563d3117 --- /dev/null +++ b/tests/unit/utils/test_upgradeability_util.py @@ -0,0 +1,83 @@ +import os +from pathlib import Path + +from slither import Slither +from slither.core.expressions import Literal +from slither.utils.upgradeability import ( + compare, + get_proxy_implementation_var, + get_proxy_implementation_slot, +) + +SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "upgradeability_util" + + +# pylint: disable=too-many-locals +def test_upgrades_compare(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.2") + + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol"), solc=solc_path) + v1 = sl.get_contract_from_name("ContractV1")[0] + v2 = sl.get_contract_from_name("ContractV2")[0] + missing_vars, new_vars, tainted_vars, new_funcs, modified_funcs, tainted_funcs = compare(v1, v2) + assert len(missing_vars) == 0 + assert new_vars == [v2.get_state_variable_from_name("stateC")] + assert tainted_vars == [ + v2.get_state_variable_from_name("stateB"), + v2.get_state_variable_from_name("bug"), + ] + assert new_funcs == [v2.get_function_from_signature("i()")] + assert modified_funcs == [v2.get_function_from_signature("checkB()")] + assert tainted_funcs == [ + v2.get_function_from_signature("g(uint256)"), + v2.get_function_from_signature("h()"), + ] + + +def test_upgrades_implementation_var(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.2") + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol"), solc=solc_path) + + erc_1967_proxy = sl.get_contract_from_name("ERC1967Proxy")[0] + storage_proxy = sl.get_contract_from_name("InheritedStorageProxy")[0] + + target = get_proxy_implementation_var(erc_1967_proxy) + slot = get_proxy_implementation_slot(erc_1967_proxy) + assert target == erc_1967_proxy.get_state_variable_from_name("_IMPLEMENTATION_SLOT") + assert slot.slot == 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC + target = get_proxy_implementation_var(storage_proxy) + slot = get_proxy_implementation_slot(storage_proxy) + assert target == storage_proxy.get_state_variable_from_name("implementation") + assert slot.slot == 1 + + solc_path = solc_binary_path("0.5.0") + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.5.0.sol"), solc=solc_path) + + eip_1822_proxy = sl.get_contract_from_name("EIP1822Proxy")[0] + # zos_proxy = sl.get_contract_from_name("ZosProxy")[0] + master_copy_proxy = sl.get_contract_from_name("MasterCopyProxy")[0] + synth_proxy = sl.get_contract_from_name("SynthProxy")[0] + + target = get_proxy_implementation_var(eip_1822_proxy) + slot = get_proxy_implementation_slot(eip_1822_proxy) + assert target not in eip_1822_proxy.state_variables_ordered + assert target.name == "contractLogic" and isinstance(target.expression, Literal) + assert ( + target.expression.value + == "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7" + ) + assert slot.slot == 0xC5F16F0FCC639FA48A6947836D9850F504798523BF8C9A3A87D5876CF622BCF7 + # # The util fails with this proxy due to how Slither parses assembly w/ Solidity versions < 0.6.0 (see issue #1775) + # target = get_proxy_implementation_var(zos_proxy) + # slot = get_proxy_implementation_slot(zos_proxy) + # assert target == zos_proxy.get_state_variable_from_name("IMPLEMENTATION_SLOT") + # assert slot.slot == 0x7050C9E0F4CA769C69BD3A8EF740BC37934F8E2C036E5A723FD8EE048ED3F8C3 + target = get_proxy_implementation_var(master_copy_proxy) + slot = get_proxy_implementation_slot(master_copy_proxy) + assert target == master_copy_proxy.get_state_variable_from_name("masterCopy") + assert slot.slot == 0 + target = get_proxy_implementation_var(synth_proxy) + slot = get_proxy_implementation_slot(synth_proxy) + assert target == synth_proxy.get_state_variable_from_name("target") + assert slot.slot == 1 diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 000000000..1560cc7ce --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,14 @@ +import inspect +from slither import Slither +from slither.detectors import all_detectors +from slither.detectors.abstract_detector import AbstractDetector + + +def _run_all_detectors(slither: Slither) -> None: + detectors = [getattr(all_detectors, name) for name in dir(all_detectors)] + detectors = [d for d in detectors if inspect.isclass(d) and issubclass(d, AbstractDetector)] + + for detector in detectors: + slither.register_detector(detector) + + slither.run_detectors()